Compare commits

..

1 Commits

Author SHA1 Message Date
Dustin L. Howett
ad93566c08 Rewrite the OSC color table functions 2024-11-22 21:35:56 -06:00
1152 changed files with 34596 additions and 70774 deletions

View File

@@ -1,43 +0,0 @@
# yaml-language-server: $schema=https://aka.ms/configuration-dsc-schema/0.2
# Reference: https://github.com/microsoft/terminal/blob/main/README.md#developer-guidance
properties:
resources:
- resource: Microsoft.Windows.Settings/WindowsSettings
directives:
description: Enable Developer Mode
allowPrerelease: true
# Requires elevation for the set operation
securityContext: elevated
settings:
DeveloperMode: true
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: powershell
directives:
description: Install PowerShell 7
# Requires elevation for the set operation (i.e., installation)
securityContext: elevated
settings:
id: Microsoft.PowerShell
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: vsPackage
directives:
description: Install Visual Studio 2022 Enterprise (any edition is OK)
# Requires elevation for the set operation (i.e., installation)
securityContext: elevated
settings:
id: Microsoft.VisualStudio.2022.Enterprise
source: winget
- resource: Microsoft.VisualStudio.DSC/VSComponents
dependsOn:
- vsPackage
directives:
description: Install required VS workloads from project .vsconfig file
allowPrerelease: true
# Requires elevation for the get and set operations
securityContext: elevated
settings:
productId: Microsoft.VisualStudio.Product.Enterprise
channelId: VisualStudio.17.Release
vsConfigFile: '${WinGetConfigRoot}\..\.vsconfig'
configurationVersion: 0.2.0

View File

@@ -1,43 +0,0 @@
# yaml-language-server: $schema=https://aka.ms/configuration-dsc-schema/0.2
# Reference: https://github.com/microsoft/terminal/blob/main/README.md#developer-guidance
properties:
resources:
- resource: Microsoft.Windows.Settings/WindowsSettings
directives:
description: Enable Developer Mode
allowPrerelease: true
# Requires elevation for the set operation
securityContext: elevated
settings:
DeveloperMode: true
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: powershell
directives:
description: Install PowerShell 7
# Requires elevation for the set operation (i.e., installation)
securityContext: elevated
settings:
id: Microsoft.PowerShell
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: vsPackage
directives:
description: Install Visual Studio 2022 Professional (any edition is OK)
# Requires elevation for the set operation (i.e., installation)
securityContext: elevated
settings:
id: Microsoft.VisualStudio.2022.Professional
source: winget
- resource: Microsoft.VisualStudio.DSC/VSComponents
dependsOn:
- vsPackage
directives:
description: Install required VS workloads from project .vsconfig file
allowPrerelease: true
# Requires elevation for the get and set operations
securityContext: elevated
settings:
productId: Microsoft.VisualStudio.Product.Professional
channelId: VisualStudio.17.Release
vsConfigFile: '${WinGetConfigRoot}\..\.vsconfig'
configurationVersion: 0.2.0

View File

@@ -1,43 +0,0 @@
# yaml-language-server: $schema=https://aka.ms/configuration-dsc-schema/0.2
# Reference: https://github.com/microsoft/terminal/blob/main/README.md#developer-guidance
properties:
resources:
- resource: Microsoft.Windows.Settings/WindowsSettings
directives:
description: Enable Developer Mode
allowPrerelease: true
# Requires elevation for the set operation
securityContext: elevated
settings:
DeveloperMode: true
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: powershell
directives:
description: Install PowerShell 7
# Requires elevation for the set operation (i.e., installation)
securityContext: elevated
settings:
id: Microsoft.PowerShell
source: winget
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: vsPackage
directives:
description: Install Visual Studio 2022 Community (any edition is OK)
# Requires elevation for the set operation (i.e., installation)
securityContext: elevated
settings:
id: Microsoft.VisualStudio.2022.Community
source: winget
- resource: Microsoft.VisualStudio.DSC/VSComponents
dependsOn:
- vsPackage
directives:
description: Install required VS workloads from project .vsconfig file
allowPrerelease: true
# Requires elevation for the get and set operations
securityContext: elevated
settings:
productId: Microsoft.VisualStudio.Product.Community
channelId: VisualStudio.17.Release
vsConfigFile: '${WinGetConfigRoot}\..\.vsconfig'
configurationVersion: 0.2.0

View File

@@ -3,7 +3,7 @@
"isRoot": true, "isRoot": true,
"tools": { "tools": {
"XamlStyler.Console": { "XamlStyler.Console": {
"version": "3.2501.8", "version": "3.2311.2",
"commands": [ "commands": [
"xstyler" "xstyler"
] ]

View File

@@ -1,4 +1,4 @@
blank_issues_enabled: false blank_issues_enabled: true
contact_links: contact_links:
- name: Microsoft Security Response Center 🔐 - name: Microsoft Security Response Center 🔐

View File

@@ -8,28 +8,32 @@ clickable
cmark cmark
CMMI CMMI
colorbrewer colorbrewer
commandlines
consvc consvc
copyable copyable
dalet
dcs dcs
deselection deselection
dialytika
diffing diffing
Dimidium dje
downsides downsides
dze
dzhe
Emacspeak Emacspeak
Fitt Fitt
flac
FTCS FTCS
gantt gantt
gfm gfm
ghe ghe
gje
godbolt godbolt
hstrings
hyperlinking hyperlinking
hyperlinks hyperlinks
Kbds Kbds
kje
libfuzzer libfuzzer
liga liga
lje
Llast Llast
Lmid Lmid
locl locl
@@ -41,8 +45,10 @@ minimalistic
mkmk mkmk
mnt mnt
mru mru
notwrapped nje
NTMTo NTMTo
notwrapped
ogonek
overlined overlined
perlw perlw
postmodern postmodern
@@ -51,7 +57,6 @@ ptys
pwn pwn
pwshw pwshw
qof qof
QOL
qps qps
quickfix quickfix
rclt rclt
@@ -64,22 +69,24 @@ rlig
rubyw rubyw
runtimes runtimes
servicebus servicebus
shcha
similaritytolerance
slnt slnt
stakeholders stakeholders
subpage
subpages
sustainability sustainability
sxn sxn
Tencent TLDR
tonos
toolset toolset
Uids tshe
UEFI UEFI
UIDs
uiatextrange uiatextrange
und und
vsdevcmd vsdevcmd
westus westus
workarounds workarounds
WSLs wtconfig
XBox XBox
YBox YBox
yeru
zhe

View File

@@ -2,8 +2,11 @@ aalt
abvm abvm
ACCEPTFILES ACCEPTFILES
ACCESSDENIED ACCESSDENIED
acl
aclapi
alignas alignas
alignof alignof
allocconsolewithoptions
APPLYTOSUBMENUS APPLYTOSUBMENUS
appxrecipe appxrecipe
bitfield bitfield
@@ -12,20 +15,29 @@ BUILDBRANCH
BUILDMSG BUILDMSG
BUILDNUMBER BUILDNUMBER
BYCOMMAND BYCOMMAND
BYPOSITION
charconv charconv
CLASSNOTAVAILABLE
CLOSEAPP CLOSEAPP
cmdletbinding cmdletbinding
COLORPROPERTY
colspan colspan
COMDLG COMDLG
commandlinetoargv commandlinetoargv
commoncontrols
comparand
COPYFROMRESOURCE COPYFROMRESOURCE
cstdint cstdint
CXICON CXICON
CYICON CYICON
Dacl
dataobject dataobject
dcomp
debugbreak debugbreak
delayimp delayimp
DERR
dlldata dlldata
DNE
dnom dnom
DONTADDTORECENT DONTADDTORECENT
DWMSBT DWMSBT
@@ -52,51 +64,92 @@ GETHIGHCONTRAST
GETMOUSEHOVERTIME GETMOUSEHOVERTIME
GETTEXTLENGTH GETTEXTLENGTH
HARDBREAKS HARDBREAKS
Hashtable
HIGHCONTRASTON HIGHCONTRASTON
HIGHCONTRASTW HIGHCONTRASTW
HIGHQUALITYSCALE HIGHQUALITYSCALE
hinternet hinternet
HINTERNET
hotkeys hotkeys
href href
hrgn hrgn
HTCLOSE HTCLOSE
hwinsta hwinsta
HWINSTA
IActivation
IApp
IAppearance IAppearance
IAsync
IBind
IBox
IClass
IComparable
IComparer
ICONINFO ICONINFO
IConnection
ICustom
IDialog
IDirect IDirect
Idn
IExplorer
IFACEMETHOD
IFile
IGraphics
IImage
IInheritable IInheritable
IMap
imm imm
IMonarch
IObject
iosfwd iosfwd
IPackage
IPeasant
isa isa
ISetup
isspace isspace
IStorage
istream istream
IStringable
ITab
ITaskbar
itow
IUri
IVirtual
KEYSELECT KEYSELECT
LCID LCID
LINEBREAK LINEBREAK
llabs
llu
localtime
lround lround
Lsa Lsa
lsass lsass
LSHIFT LSHIFT
LTGRAY LTGRAY
MAINWINDOW MAINWINDOW
MAXIMIZEBOX
medi medi
memchr
memicmp memicmp
MENUCOMMAND MENUCOMMAND
MENUDATA MENUDATA
MENUINFO MENUINFO
MENUITEMINFOW MENUITEMINFOW
MINIMIZEBOX MINIMIZEBOX
mmeapi
MOUSELEAVE MOUSELEAVE
mov mov
mptt
msappx
MULTIPLEUSE MULTIPLEUSE
NCHITTEST NCHITTEST
NCLBUTTONDBLCLK NCLBUTTONDBLCLK
NCMOUSELEAVE NCMOUSELEAVE
NCMOUSEMOVE NCMOUSEMOVE
NCPOINTERUPDATE
NCRBUTTONDBLCLK NCRBUTTONDBLCLK
NIF NIF
NIN NIN
NOAGGREGATION
NOASYNC NOASYNC
NOBREAKS NOBREAKS
NOCHANGEDIR NOCHANGEDIR
@@ -109,6 +162,8 @@ NOTIFYICONDATA
ntprivapi ntprivapi
NTSYSCALLAPI NTSYSCALLAPI
numr numr
oaidl
ocidl
ODR ODR
offsetof offsetof
ofstream ofstream
@@ -118,17 +173,22 @@ OSVERSIONINFOEXW
otms otms
OUTLINETEXTMETRICW OUTLINETEXTMETRICW
overridable overridable
PACL
PAGESCROLL PAGESCROLL
PALLOC PALLOC
PATINVERT PATINVERT
PEXPLICIT
PICKFOLDERS PICKFOLDERS
PINPUT PINPUT
pmr pmr
ptstr
QUERYENDSESSION QUERYENDSESSION
rcx rcx
REGCLS REGCLS
RETURNCMD RETURNCMD
rfind rfind
RLO
rnrn
ROOTOWNER ROOTOWNER
roundf roundf
RSHIFT RSHIFT
@@ -147,19 +207,23 @@ SHOWTIP
SINGLEUSE SINGLEUSE
SIZENS SIZENS
smoothstep smoothstep
snprintf
SOFTBREAK SOFTBREAK
spsc spsc
sregex
SRWLOC SRWLOC
srwlock srwlock
SRWLOCK SRWLOCK
STDCPP STDCPP
STDMETHOD STDMETHOD
strchr
strcpy strcpy
streambuf streambuf
strtoul strtoul
Stubless Stubless
Subheader
Subpage
syscall syscall
syscolors
SYSTEMBACKDROP SYSTEMBACKDROP
TABROW TABROW
TASKBARCREATED TASKBARCREATED
@@ -174,19 +238,23 @@ tokeninfo
tolower tolower
toupper toupper
TRACKMOUSEEVENT TRACKMOUSEEVENT
ubrk TTask
TVal
UChar UChar
UFIELD UFIELD
ULARGE ULARGE
UNCEx
UOI UOI
UPDATEINIFILE UPDATEINIFILE
urlmon urlmon
userenv
USEROBJECTFLAGS USEROBJECTFLAGS
Vcpp Vcpp
Viewbox Viewbox
virtualalloc virtualalloc
vsnwprintf
wcsnlen wcsnlen
wcsstr
wcstoui
WDJ WDJ
winhttp winhttp
wininet wininet
@@ -196,8 +264,10 @@ winstamin
wmemcmp wmemcmp
wpc wpc
WSF WSF
wsregex
WWH WWH
wwinmain wwinmain
xchg
XDocument XDocument
XElement XElement
xfacet xfacet
@@ -221,5 +291,4 @@ xtree
xutility xutility
YIcon YIcon
YMax YMax
zstring
zwstring zwstring

View File

@@ -1,4 +1,5 @@
CHINESEBIG CHINESEBIG
choseong choseong
Choseong Jongseong
CHOSEONG Jungseong
ssangtikeut

View File

@@ -1,3 +1,4 @@
alice
aliceblue aliceblue
antiquewhite antiquewhite
blanchedalmond blanchedalmond
@@ -38,6 +39,7 @@ gainsboro
ghostwhite ghostwhite
greenyellow greenyellow
hotpink hotpink
indian
indianred indianred
lavenderblush lavenderblush
lawngreen lawngreen
@@ -72,6 +74,7 @@ mediumvioletred
midnightblue midnightblue
mintcream mintcream
mistyrose mistyrose
navajo
navajowhite navajowhite
navyblue navyblue
oldlace oldlace
@@ -85,6 +88,7 @@ papayawhip
peachpuff peachpuff
peru peru
powderblue powderblue
rebecca
rebeccapurple rebeccapurple
rosybrown rosybrown
royalblue royalblue
@@ -105,4 +109,9 @@ webgrey
webmaroon webmaroon
webpurple webpurple
whitesmoke whitesmoke
xaroon
xray
xreen
xrey
xurple
yellowgreen yellowgreen

View File

@@ -1,8 +1,8 @@
Consolas Consolas
emoji emoji
emojis emojis
Emojis
Extralight Extralight
Gabriola
Iosevka Iosevka
MDL MDL
Monofur Monofur

View File

@@ -1 +1,4 @@
arigatoo
doomo
Kaomojis
TATEGAKI TATEGAKI

View File

@@ -1,2 +1,11 @@
atan
CPrime
HBar
HPrime
isnan isnan
LPrime
LStep
powf
RSub
sqrtf
ULP ULP

View File

@@ -4,11 +4,12 @@ advapi
akv akv
AKV AKV
altform altform
Altforms altforms
appendwttlogging appendwttlogging
appinstaller appinstaller
appx appx
appxbundle appxbundle
appxerror
appxmanifest appxmanifest
ATL ATL
autoexec autoexec
@@ -24,44 +25,66 @@ CPRs
cryptbase cryptbase
cscript cscript
DACL DACL
DACLs
defaultlib defaultlib
diffs diffs
disposables disposables
dotnetfeed
DTDs
DWINRT
enablewttlogging enablewttlogging
HOMESHARE HOMESHARE
Intelli Intelli
issecret issecret
IVisual
libucrt libucrt
libucrtd libucrtd
LKG
LOCKFILE LOCKFILE
LTCG
Lxss Lxss
makepri makepri
mfcribbon
microsoft microsoft
microsoftonline
MSAA MSAA
msixbundle msixbundle
MSVC MSVC
MSVCP MSVCP
mtu mtu
muxc muxc
netcore
Onefuzz
osgvsowi
PFILETIME
pgc pgc
pgo pgo
pgosweep pgosweep
powerrename
powershell powershell
priconfig priconfig
PRIINFO PRIINFO
propkey propkey
pscustomobject pscustomobject
QWORD QWORD
rdpclip
regedit regedit
resfiles resfiles
robocopy
SACLs SACLs
sdkddkver
segoe segoe
Shobjidl
sid sid
Skype
SRW SRW
sxs sxs
symbolrequestprod symbolrequestprod
Sysinternals Sysinternals
sysnative
systemroot
taskkill
tasklist
tdbuildteamid
ucrt ucrt
ucrtd ucrtd
unvirtualized unvirtualized
@@ -69,9 +92,12 @@ USERDNSDOMAIN
VCRT VCRT
vcruntime vcruntime
Virtualization Virtualization
visualstudio
vscode vscode
VSTHRD VSTHRD
WINBASEAPI WINBASEAPI
winsdkver
wlk
wscript wscript
wslpath wslpath
wtl wtl

View File

@@ -1,3 +1,4 @@
Anup
arkthur arkthur
austdi austdi
Ballmer Ballmer
@@ -5,11 +6,13 @@ bhoj
Bhojwani Bhojwani
Bluloco Bluloco
carlos carlos
craigloewen
dhowett dhowett
Diviness Diviness
dsafa dsafa
duhowett duhowett
DXP DXP
ekg
eryksun eryksun
ethanschoonover ethanschoonover
Firefox Firefox
@@ -22,43 +25,70 @@ Hernan
Howett Howett
Illhardt Illhardt
Imms Imms
iquilezles
italo italo
jantari jantari
jerrysh jerrysh
Kaiyu Kaiyu
kimwalisch
KMehrain
Kodelife
KODELIFE
Kourosh
kowalczyk
leonardder leonardder
leonmsft
Lepilleur
lhecker lhecker
Lovecraft lukesampson
Macbook
Manandhar
masserano masserano
mbadolato
Mehrain
menger menger
mgravell
michaelniksa
michkap
migrie migrie
mikegr mikegr
mikemaccana mikemaccana
miloush
miniksa miniksa
nguyen nguyen
niksa niksa
nvaccess nvaccess
nvda nvda
oising
oldnewthing
opengl
osgwiki osgwiki
Ottosson Ottosson
pabhojwa pabhojwa
Panos panos
paulcam paulcam
pauldotknopf
PGP PGP
Pham Pham
Rincewind Rincewind
rprichard
Schoonover Schoonover
shadertoy shadertoy
Shomnipotence Shomnipotence
simioni simioni
Somuah
sonph sonph
sonpham sonpham
stakx stakx
talo
thereses thereses
Thysell Thysell
Walisch
WDX WDX
Wellons Wellons
Westerman Westerman
Wirt
Wojciech
zadjii zadjii
Zamor Zamor
zamora zamora
@@ -66,3 +96,4 @@ Zamora
zljubisic zljubisic
Zoey Zoey
zorio zorio
Zverovich

View File

@@ -1,6 +1,3 @@
# Repeated letters
\b([a-z])\g{-1}{2,}\b
# marker to ignore all code on line # marker to ignore all code on line
^.*/\* #no-spell-check-line \*/.*$ ^.*/\* #no-spell-check-line \*/.*$
# marker to ignore all code on line # marker to ignore all code on line
@@ -10,20 +7,14 @@
# cspell inline # cspell inline
^.*\b[Cc][Ss][Pp][Ee][Ll]{2}:\s*[Dd][Ii][Ss][Aa][Bb][Ll][Ee]-[Ll][Ii][Nn][Ee]\b ^.*\b[Cc][Ss][Pp][Ee][Ll]{2}:\s*[Dd][Ii][Ss][Aa][Bb][Ll][Ee]-[Ll][Ii][Nn][Ee]\b
# copyright
Copyright (?:\([Cc]\)|)(?:[-\d, ]|and)+(?: [A-Z][a-z]+ [A-Z][a-z]+,?)+
# patch hunk comments # patch hunk comments
^@@ -\d+(?:,\d+|) \+\d+(?:,\d+|) @@ .* ^\@\@ -\d+(?:,\d+|) \+\d+(?:,\d+|) \@\@ .*
# git index header # git index header
index (?:[0-9a-z]{7,40},|)[0-9a-z]{7,40}\.\.[0-9a-z]{7,40} index (?:[0-9a-z]{7,40},|)[0-9a-z]{7,40}\.\.[0-9a-z]{7,40}
# file permissions # file permissions
['"`\s][-bcdLlpsw](?:[-r][-w][-Ssx]){2}[-r][-w][-SsTtx]\+?['"`\s] ['"`\s][-bcdLlpsw](?:[-r][-w][-Ssx]){2}[-r][-w][-SsTtx]\+?['"`\s]
# css fonts
\bfont(?:-family|):[^;}]+
# css url wrappings # css url wrappings
\burl\([^)]+\) \burl\([^)]+\)
@@ -36,13 +27,13 @@ index (?:[0-9a-z]{7,40},|)[0-9a-z]{7,40}\.\.[0-9a-z]{7,40}
# data url in quotes # data url in quotes
([`'"])data:(?:[^ `'"].*?|)(?:[A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,}).*\g{-1} ([`'"])data:(?:[^ `'"].*?|)(?:[A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,}).*\g{-1}
# data url # data url
\bdata:[-a-zA-Z=;:/0-9+]*,\S* data:[-a-zA-Z=;:/0-9+]*,\S*
# https/http/file urls # https/http/file urls
(?:\b(?:https?|ftp|file)://)[-A-Za-z0-9+&@#/*%?=~_|!:,.;]+[-A-Za-z0-9+&@#/*%=~_|] (?:\b(?:https?|ftp|file)://)[-A-Za-z0-9+&@#/%?=~_|!:,.;]+[-A-Za-z0-9+&@#/%=~_|]
# mailto urls # mailto urls
mailto:[-a-zA-Z=;:/?%&0-9+@._]{3,} mailto:[-a-zA-Z=;:/?%&0-9+@.]{3,}
# magnet urls # magnet urls
magnet:[?=:\w]+ magnet:[?=:\w]+
@@ -75,8 +66,6 @@ magnet:[?=:\w]+
# Amazon # Amazon
\bamazon\.com/[-\w]+/(?:dp/[0-9A-Z]+|) \bamazon\.com/[-\w]+/(?:dp/[0-9A-Z]+|)
# AWS ARN
arn:aws:[-/:\w]+
# AWS S3 # AWS S3
\b\w*\.s3[^.]*\.amazonaws\.com/[-\w/&#%_?:=]* \b\w*\.s3[^.]*\.amazonaws\.com/[-\w/&#%_?:=]*
# AWS execute-api # AWS execute-api
@@ -103,8 +92,6 @@ vpc-\w+
\bgoogle-analytics\.com/collect.[-0-9a-zA-Z?%=&_.~]* \bgoogle-analytics\.com/collect.[-0-9a-zA-Z?%=&_.~]*
# Google APIs # Google APIs
\bgoogleapis\.(?:com|dev)/[a-z]+/(?:v\d+/|)[a-z]+/[-@:./?=\w+|&]+ \bgoogleapis\.(?:com|dev)/[a-z]+/(?:v\d+/|)[a-z]+/[-@:./?=\w+|&]+
# Google Artifact Registry
\.pkg\.dev(?:/[-\w]+)+(?::[-\w]+|)
# Google Storage # Google Storage
\b[-a-zA-Z0-9.]*\bstorage\d*\.googleapis\.com(?:/\S*|) \b[-a-zA-Z0-9.]*\bstorage\d*\.googleapis\.com(?:/\S*|)
# Google Calendar # Google Calendar
@@ -140,8 +127,6 @@ themes\.googleusercontent\.com/static/fonts/[^/\s"]+/v\d+/[^.]+.
\bscholar\.google\.com/citations\?user=[A-Za-z0-9_]+ \bscholar\.google\.com/citations\?user=[A-Za-z0-9_]+
# Google Colab Research Drive # Google Colab Research Drive
\bcolab\.research\.google\.com/drive/[-0-9a-zA-Z_?=]* \bcolab\.research\.google\.com/drive/[-0-9a-zA-Z_?=]*
# Google Cloud regions
(?:us|(?:north|south)america|europe|asia|australia|me|africa)-(?:north|south|east|west|central){1,2}\d+
# GitHub SHAs (api) # GitHub SHAs (api)
\bapi.github\.com/repos(?:/[^/\s"]+){3}/[0-9a-f]+\b \bapi.github\.com/repos(?:/[^/\s"]+){3}/[0-9a-f]+\b
@@ -168,9 +153,6 @@ themes\.googleusercontent\.com/static/fonts/[^/\s"]+/v\d+/[^.]+.
# GHSA # GHSA
GHSA(?:-[0-9a-z]{4}){3} GHSA(?:-[0-9a-z]{4}){3}
# GitHub actions
\buses:\s+[-\w.]+/[-\w./]+@[-\w.]+
# GitLab commit # GitLab commit
\bgitlab\.[^/\s"]*/\S+/\S+/commit/[0-9a-f]{7,16}#[0-9a-f]{40}\b \bgitlab\.[^/\s"]*/\S+/\S+/commit/[0-9a-f]{7,16}#[0-9a-f]{40}\b
# GitLab merge requests # GitLab merge requests
@@ -180,12 +162,6 @@ GHSA(?:-[0-9a-z]{4}){3}
# GitLab commits # GitLab commits
\bgitlab\.[^/\s"]*/(?:[^/\s"]+/){2}commits?/[0-9a-f]+\b \bgitlab\.[^/\s"]*/(?:[^/\s"]+/){2}commits?/[0-9a-f]+\b
# #includes
^\s*#include\s*(?:<.*?>|".*?")
# #pragma lib
^\s*#pragma comment\(lib, ".*?"\)
# binance # binance
accounts\.binance\.com/[a-z/]*oauth/authorize\?[-0-9a-zA-Z&%]* accounts\.binance\.com/[a-z/]*oauth/authorize\?[-0-9a-zA-Z&%]*
@@ -235,10 +211,10 @@ accounts\.binance\.com/[a-z/]*oauth/authorize\?[-0-9a-zA-Z&%]*
# medium link # medium link
\blink\.medium\.com/[a-zA-Z0-9]+ \blink\.medium\.com/[a-zA-Z0-9]+
# medium # medium
\bmedium\.com/@?[^/\s"]+/[-\w]+ \bmedium\.com/\@?[^/\s"]+/[-\w]+
# microsoft # microsoft
\b(?:https?://|)(?:(?:(?:blogs|download\.visualstudio|docs|msdn2?|research)\.|)microsoft|blogs\.msdn)\.co(?:m|\.\w\w)/[-_a-zA-Z0-9()=./%]* \b(?:https?://|)(?:(?:download\.visualstudio|docs|msdn2?|research)\.microsoft|blogs\.msdn)\.com/[-_a-zA-Z0-9()=./%]*
# powerbi # powerbi
\bapp\.powerbi\.com/reportEmbed/[^"' ]* \bapp\.powerbi\.com/reportEmbed/[^"' ]*
# vs devops # vs devops
@@ -300,7 +276,7 @@ slack://[a-zA-Z0-9?&=]+
[0-9a-f]{32}\@o\d+\.ingest\.sentry\.io\b [0-9a-f]{32}\@o\d+\.ingest\.sentry\.io\b
# Twitter markdown # Twitter markdown
\[@[^[/\]:]*?\]\(https://twitter.com/[^/\s"')]*(?:/status/\d+(?:\?[-_0-9a-zA-Z&=]*|)|)\) \[\@[^[/\]:]*?\]\(https://twitter.com/[^/\s"')]*(?:/status/\d+(?:\?[-_0-9a-zA-Z&=]*|)|)\)
# Twitter hashtag # Twitter hashtag
\btwitter\.com/hashtag/[\w?_=&]* \btwitter\.com/hashtag/[\w?_=&]*
# Twitter status # Twitter status
@@ -355,7 +331,7 @@ ipfs://[0-9a-zA-Z]{3,}
[^"\s]+/gitweb/\S+;h=[0-9a-f]+ [^"\s]+/gitweb/\S+;h=[0-9a-f]+
# HyperKitty lists # HyperKitty lists
/archives/list/[^@/]+@[^/\s"]*/message/[^/\s"]*/ /archives/list/[^@/]+\@[^/\s"]*/message/[^/\s"]*/
# lists # lists
/thread\.html/[^"\s]+ /thread\.html/[^"\s]+
@@ -373,7 +349,7 @@ ipfs://[0-9a-zA-Z]{3,}
\bopen\.spotify\.com/embed/playlist/\w+ \bopen\.spotify\.com/embed/playlist/\w+
# Mastodon # Mastodon
\bmastodon\.[-a-z.]*/(?:media/|@)[?&=0-9a-zA-Z_]* \bmastodon\.[-a-z.]*/(?:media/|\@)[?&=0-9a-zA-Z_]*
# scastie # scastie
\bscastie\.scala-lang\.org/[^/]+/\w+ \bscastie\.scala-lang\.org/[^/]+/\w+
@@ -412,12 +388,12 @@ ipfs://[0-9a-zA-Z]{3,}
\bgetopts\s+(?:"[^"]+"|'[^']+') \bgetopts\s+(?:"[^"]+"|'[^']+')
# ANSI color codes # ANSI color codes
(?:\\(?:u00|x)1[Bb]|\\03[1-7]|\x1b|\\u\{1[Bb]\})\[\d+(?:;\d+)*m (?:\\(?:u00|x)1[Bb]|\x1b|\\u\{1[Bb]\})\[\d+(?:;\d+|)m
# URL escaped characters # URL escaped characters
%[0-9A-F][A-F](?=[A-Za-z]) \%[0-9A-F][A-F](?=[A-Za-z])
# lower URL escaped characters # lower URL escaped characters
%[0-9a-f][a-f](?=[a-z]{2,}) \%[0-9a-f][a-f](?=[a-z]{2,})
# IPv6 # IPv6
#\b(?:[0-9a-fA-F]{0,4}:){3,7}[0-9a-fA-F]{0,4}\b #\b(?:[0-9a-fA-F]{0,4}:){3,7}[0-9a-fA-F]{0,4}\b
@@ -426,7 +402,7 @@ ipfs://[0-9a-zA-Z]{3,}
# Punycode # Punycode
\bxn--[-0-9a-z]+ \bxn--[-0-9a-z]+
# sha # sha
sha\d+:[0-9a-f]*?[a-f]{3,}[0-9a-f]* sha\d+:[0-9]*[a-f]{3,}[0-9a-f]*
# sha-... -- uses a fancy capture # sha-... -- uses a fancy capture
(\\?['"]|&quot;)[0-9a-f]{40,}\g{-1} (\\?['"]|&quot;)[0-9a-f]{40,}\g{-1}
# hex runs # hex runs
@@ -446,17 +422,10 @@ sha\d+:[0-9a-f]*?[a-f]{3,}[0-9a-f]*
# pki # pki
-----BEGIN.*-----END -----BEGIN.*-----END
# pki (base64)
LS0tLS1CRUdJT.*
# C# includes
^\s*using [^;]+;
# uuid: # uuid:
\b[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}\b \b[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}\b
# hex digits including css/html color classes: # hex digits including css/html color classes:
(?:[\\0][xX]|\\u|[uU]\+|#x?|%23|&H)[0-9_a-fA-FgGrR]*?[a-fA-FgGrR]{2,}[0-9_a-fA-FgGrR]*(?:[uUlL]{0,3}|[iu]\d+)\b (?:[\\0][xX]|\\u|[uU]\+|#x?|\%23)[0-9_a-fA-FgGrR]*?[a-fA-FgGrR]{2,}[0-9_a-fA-FgGrR]*(?:[uUlL]{0,3}|[iu]\d+)\b
# integrity # integrity
integrity=(['"])(?:\s*sha\d+-[-a-zA-Z=;:/0-9+]{40,})+\g{-1} integrity=(['"])(?:\s*sha\d+-[-a-zA-Z=;:/0-9+]{40,})+\g{-1}
@@ -474,47 +443,20 @@ integrity=(['"])(?:\s*sha\d+-[-a-zA-Z=;:/0-9+]{40,})+\g{-1}
Name\[[^\]]+\]=.* Name\[[^\]]+\]=.*
# IServiceProvider / isAThing # IServiceProvider / isAThing
(?:(?:\b|_|(?<=[a-z]))I|(?:\b|_)(?:nsI|isA))(?=(?:[A-Z][a-z]{2,})+(?:[A-Z\d]|\b)) \b(?:I|isA)(?=(?:[A-Z][a-z]{2,})+\b)
# python
\b(?i)py(?!gments|gmy|lon|ramid|ro|th)(?=[a-z]{2,})
# crypt # crypt
(['"])\$2[ayb]\$.{56}\g{-1} (['"])\$2[ayb]\$.{56}\g{-1}
# apache/old crypt
#(['"]|)\$+(?:apr|)1\$+.{8}\$+.{22}\g{-1}
# sha1 hash
\{SHA\}[-a-zA-Z=;:/0-9+]{3,}
# machine learning (?)
\b(?i)ml(?=[a-z]{2,})
# scrypt / argon # scrypt / argon
\$(?:scrypt|argon\d+[di]*)\$\S+ \$(?:scrypt|argon\d+[di]*)\$\S+
# go.sum # go.sum
\bh1:\S+ \bh1:\S+
# imports
^import\s+(?:(?:static|type)\s+|)(?:[\w.]|\{\s*\w*?(?:,\s*(?:\w*|\*))+\s*\})+
# scala modules # scala modules
("[^"]+"\s*%%?\s*){2,3}"[^"]+" ("[^"]+"\s*%%?\s*){2,3}"[^"]+"
# container images
image: [-\w./:@]+
# Docker images
^\s*(?i)FROM\s+\S+:\S+(?:\s+AS\s+\S+|)
# `docker images` REPOSITORY TAG IMAGE ID CREATED SIZE
\s*\S+/\S+\s+\S+\s+[0-9a-f]{8,}\s+\d+\s+(?:hour|day|week)s ago\s+[\d.]+[KMGT]B
# Intel intrinsics
_mm_(?!dd)\w+
# Input to GitHub JSON # Input to GitHub JSON
content: (['"])[-a-zA-Z=;:/0-9+]*=\g{-1} content: (['"])[-a-zA-Z=;:/0-9+]*=\g{-1}
@@ -522,46 +464,36 @@ content: (['"])[-a-zA-Z=;:/0-9+]*=\g{-1}
# you'll want to remove the `(?=.*?")` suffix. # you'll want to remove the `(?=.*?")` suffix.
# The `(?=.*?")` suffix should limit the false positives rate # The `(?=.*?")` suffix should limit the false positives rate
# printf # printf
#%(?:(?:(?:hh?|ll?|[jzt])?[diuoxn]|l?[cs]|L?[fega]|p)(?=[a-z]{2,})|(?:X|L?[FEGA])(?=[a-zA-Z]{2,}))(?!%)(?=[_a-zA-Z]+(?!%)\b)(?=.*?['"]) #%(?:(?:(?:hh?|ll?|[jzt])?[diuoxn]|l?[cs]|L?[fega]|p)(?=[a-z]{2,})|(?:X|L?[FEGA]|p)(?=[a-zA-Z]{2,}))(?=[_a-zA-Z]+\b)(?!%)(?=.*?['"])
# Alternative printf
# %s
%(?:s(?=[a-z]{2,}))(?!%)(?=[_a-zA-Z]+(?!%[^s])\b)(?=.*?['"])
# Python string prefix / binary prefix # Python string prefix / binary prefix
# Note that there's a high false positive rate, remove the `?=` and search for the regex to see if the matches seem like reasonable strings # Note that there's a high false positive rate, remove the `?=` and search for the regex to see if the matches seem like reasonable strings
(?<!['"])\b(?:B|BR|Br|F|FR|Fr|R|RB|RF|Rb|Rf|U|UR|Ur|b|bR|br|f|fR|fr|r|rB|rF|rb|rf|u|uR|ur)['"](?=[A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,}) (?<!')\b(?:B|BR|Br|F|FR|Fr|R|RB|RF|Rb|Rf|U|UR|Ur|b|bR|br|f|fR|fr|r|rB|rF|rb|rf|u|uR|ur)'(?=[A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,})
# Regular expressions for (P|p)assword # Regular expressions for (P|p)assword
\([A-Z]\|[a-z]\)[a-z]+ \([A-Z]\|[a-z]\)[a-z]+
# JavaScript regular expressions # JavaScript regular expressions
# javascript test regex # javascript test regex
/.{3,}/[gim]*\.test\( /.*/[gim]*\.test\(
# javascript match regex # javascript match regex
\.match\(/[^/\s"]{3,}/[gim]*\s* \.match\(/[^/\s"]*/[gim]*\s*
# javascript match regex # javascript match regex
\.match\(/\\[b].{3,}?/[gim]*\s*\)(?:;|$) \.match\(/\\[b].*?/[gim]*\s*\)(?:;|$)
# javascript regex # javascript regex
^\s*/\\[b].{3,}?/[gim]*\s*(?:\)(?:;|$)|,$) ^\s*/\\[b].*/[gim]*\s*(?:\)(?:;|$)|,$)
# javascript replace regex # javascript replace regex
\.replace\(/[^/\s"]{3,}/[gim]*\s*, \.replace\(/[^/\s"]*/[gim]*\s*,
# assign regex # assign regex
= /[^*].*?(?:[a-z]{3,}|[A-Z]{3,}|[A-Z][a-z]{2,}).*/[gim]*(?=\W|$) = /[^*]*?(?:[a-z]{3,}|[A-Z]{3,}|[A-Z][a-z]{2,}).*/
# perl regex test # perl regex test
[!=]~ (?:/.*/|m\{.*?\}|m<.*?>|m([|!/@#,;']).*?\g{-1}) [!=]~ (?:/.*/|m\{.*?\}|m<.*?>|m([|!/@#,;']).*?\g{-1})
# perl qr regex # perl qr regex
(?<!\$)\bqr(?:\{.*?\}|<.*?>|\(.*?\)|([|!/@#,;']).*?\g{-1}) (?<!\$)\bqr(?:\{.*?\}|<.*?>|\(.*?\)|([|!/@#,;']).*?\g{-1})
# perl run
perl(?:\s+-[a-zA-Z]\w*)+
# C network byte conversions
(?:\d|\bh)to(?!ken)(?=[a-z])|to(?=[adhiklpun]\()
# Go regular expressions # Go regular expressions
regexp?\.MustCompile\((?:`[^`]*`|".*"|'.*')\) regexp?\.MustCompile\(`[^`]*`\)
# regex choice # regex choice
\(\?:[^)]+\|[^)]+\) \(\?:[^)]+\|[^)]+\)
@@ -573,20 +505,14 @@ regexp?\.MustCompile\((?:`[^`]*`|".*"|'.*')\)
sed 's/(?:[^/]*?[a-zA-Z]{3,}[^/]*?/){2} sed 's/(?:[^/]*?[a-zA-Z]{3,}[^/]*?/){2}
# node packages # node packages
(["'])@[^/'" ]+/[^/'" ]+\g{-1} (["'])\@[^/'" ]+/[^/'" ]+\g{-1}
# go install # go install
go install(?:\s+[a-z]+\.[-@\w/.]+)+ go install(?:\s+[a-z]+\.[-@\w/.]+)+
# pom.xml
<(?:group|artifact)Id>.*?<
# jetbrains schema https://youtrack.jetbrains.com/issue/RSRP-489571 # jetbrains schema https://youtrack.jetbrains.com/issue/RSRP-489571
urn:shemas-jetbrains-com urn:shemas-jetbrains-com
# Debian changelog severity
[-\w]+ \(.*\) (?:\w+|baseline|unstable|experimental); urgency=(?:low|medium|high|emergency|critical)\b
# kubernetes pod status lists # kubernetes pod status lists
# https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase # https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-phase
\w+(?:-\w+)+\s+\d+/\d+\s+(?:Running|Pending|Succeeded|Failed|Unknown)\s+ \w+(?:-\w+)+\s+\d+/\d+\s+(?:Running|Pending|Succeeded|Failed|Unknown)\s+
@@ -594,29 +520,20 @@ urn:shemas-jetbrains-com
# kubectl - pods in CrashLoopBackOff # kubectl - pods in CrashLoopBackOff
\w+-[0-9a-f]+-\w+\s+\d+/\d+\s+CrashLoopBackOff\s+ \w+-[0-9a-f]+-\w+\s+\d+/\d+\s+CrashLoopBackOff\s+
# kubernetes applications
\.apps/[-\w]+
# kubernetes object suffix # kubernetes object suffix
-[0-9a-f]{10}-\w{5}\s -[0-9a-f]{10}-\w{5}\s
# kubernetes crd patterns
^\s*pattern: .*$
# posthog secrets # posthog secrets
([`'"])phc_[^"',]+\g{-1} ([`'"])phc_[^"',]+\g{-1}
# xcode # xcode
# xcodeproject scenes # xcodeproject scenes
(?:Controller|destination|(?:first|second)Item|ID|id)="\w{3}-\w{2}-\w{3}" (?:Controller|destination|ID|id)="\w{3}-\w{2}-\w{3}"
# xcode api botches # xcode api botches
customObjectInstantitationMethod customObjectInstantitationMethod
# msvc api botches
PrependWithABINamepsace
# configure flags # configure flags
.* \| --\w{2,}.*?(?=\w+\s\w+) .* \| --\w{2,}.*?(?=\w+\s\w+)
@@ -624,42 +541,23 @@ PrependWithABINamepsace
\.fa-[-a-z0-9]+ \.fa-[-a-z0-9]+
# bearer auth # bearer auth
(['"])[Bb]ear[e][r] .{3,}?\g{-1} (['"])Bear[e][r] .*?\g{-1}
# bearer auth
\b[Bb]ear[e][r]:? [-a-zA-Z=;:/0-9+.]{3,}
# basic auth # basic auth
(['"])[Bb]asic [-a-zA-Z=;:/0-9+]{3,}\g{-1} (['"])Basic [-a-zA-Z=;:/0-9+]{3,}\g{-1}
# basic auth
: [Bb]asic [-a-zA-Z=;:/0-9+.]{3,}
# base64 encoded content # base64 encoded content
#([`'"])[-a-zA-Z=;:/0-9+]{3,}=\g{-1} #([`'"])[-a-zA-Z=;:/0-9+]+=\g{-1}
# base64 encoded content in xml/sgml # base64 encoded content in xml/sgml
>[-a-zA-Z=;:/0-9+]{3,}=</ >[-a-zA-Z=;:/0-9+]+=</
# base64 encoded content, possibly wrapped in mime # base64 encoded content, possibly wrapped in mime
#(?:^|[\s=;:?])[-a-zA-Z=;:/0-9+]{50,}(?:[\s=;:?]|$) #(?:^|[\s=;:?])[-a-zA-Z=;:/0-9+]{50,}(?:[\s=;:?]|$)
# base64 encoded json
\beyJ[-a-zA-Z=;:/0-9+]+
# base64 encoded pkcs
#\bMII[-a-zA-Z=;:/0-9+]+
# uuencoded
#[!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_]{40,}
# DNS rr data
#(?:\d+\s+){3}(?:[-+/=.\w]{2,}\s*){1,2}
# encoded-word # encoded-word
=\?[-a-zA-Z0-9"*%]+\?[BQ]\?[^?]{0,75}\?= =\?[-a-zA-Z0-9"*%]+\?[BQ]\?[^?]{0,75}\?=
# numerator
\bnumer\b(?=.*denom)
# Time Zones # Time Zones
\b(?:Africa|Atlantic|America|Antarctica|Arctic|Asia|Australia|Europe|Indian|Pacific)(?:/[-\w]+)+ \b(?:Africa|Atlantic|America|Antarctica|Asia|Australia|Europe|Indian|Pacific)(?:/\w+)+
# linux kernel info # linux kernel info
^(?:bugs|flags|Features)\s+:.* ^(?:bugs|flags|Features)\s+:.*
@@ -667,22 +565,16 @@ PrependWithABINamepsace
# systemd mode # systemd mode
systemd.*?running in system mode \([-+].*\)$ systemd.*?running in system mode \([-+].*\)$
# Lorem
# Update Lorem based on your content (requires `ge` and `w` from https://github.com/jsoref/spelling; and `review` from https://github.com/check-spelling/check-spelling/wiki/Looking-for-items-locally ) # Update Lorem based on your content (requires `ge` and `w` from https://github.com/jsoref/spelling; and `review` from https://github.com/check-spelling/check-spelling/wiki/Looking-for-items-locally )
# grep '^[^#].*lorem' .github/actions/spelling/patterns.txt|perl -pne 's/.*i..\?://;s/\).*//' |tr '|' "\n"|sort -f |xargs -n1 ge|perl -pne 's/^[^:]*://'|sort -u|w|sed -e 's/ .*//'|w|review - # grep '^[^#].*lorem' .github/actions/spelling/patterns.txt|perl -pne 's/.*i..\?://;s/\).*//' |tr '|' "\n"|sort -f |xargs -n1 ge|perl -pne 's/^[^:]*://'|sort -u|w|sed -e 's/ .*//'|w|review -
# Warning, while `(?i)` is very neat and fancy, if you have some binary files that aren't proper unicode, you might run into: # Warning, while `(?i)` is very neat and fancy, if you have some binary files that aren't proper unicode, you might run into:
# ... Operation "substitution (s///)" returns its argument for non-Unicode code point 0x1C19AE (the code point will vary). ## Operation "substitution (s///)" returns its argument for non-Unicode code point 0x1C19AE (the code point will vary).
# ... You could manually change `(?i)X...` to use `[Xx]...` ## You could manually change `(?i)X...` to use `[Xx]...`
# ... or you could add the files to your `excludes` file (a version after 0.0.19 should identify the file path) ## or you could add the files to your `excludes` file (a version after 0.0.19 should identify the file path)
(?:(?:\w|\s|[,.])*\b(?i)(?:amet|consectetur|cursus|dolor|eros|ipsum|lacus|libero|ligula|lorem|magna|neque|nulla|suscipit|tempus)\b(?:\w|\s|[,.])*) # Lorem
(?:\w|\s|[,.])*\b(?i)(?:amet|consectetur|cursus|dolor|eros|ipsum|lacus|libero|ligula|lorem|magna|neque|nulla|suscipit|tempus)\b(?:\w|\s|[,.])*
# Non-English # Non-English
# Even repositories expecting pure English content can unintentionally have Non-English content... People will occasionally mistakenly enter [homoglyphs](https://en.wikipedia.org/wiki/Homoglyph) which are essentially typos, and using this pattern will mean check-spelling will not complain about them.
#
# If the content to be checked should be written in English and the only Non-English items will be people's names, then you can consider adding this.
#
# Alternatively, if you're using check-spelling v0.0.25+, and you would like to _check_ the Non-English content for spelling errors, you can. For information on how to do so, see:
# https://docs.check-spelling.dev/Feature:-Configurable-word-characters.html#unicode
[a-zA-Z]*[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź][a-zA-Z]{3}[a-zA-ZÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź]*|[a-zA-Z]{3,}[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź]|[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź][a-zA-Z]{3,} [a-zA-Z]*[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź][a-zA-Z]{3}[a-zA-ZÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź]*|[a-zA-Z]{3,}[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź]|[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź][a-zA-Z]{3,}
# highlighted letters # highlighted letters
@@ -692,55 +584,34 @@ systemd.*?running in system mode \([-+].*\)$
# This corpus only had capital letters, but you probably want lowercase ones as well. # This corpus only had capital letters, but you probably want lowercase ones as well.
\b[LN]'+[a-z]{2,}\b \b[LN]'+[a-z]{2,}\b
# latex (check-spelling <= 0.0.21)
#\\(?:n(?:ew|ormal|osub)|r(?:enew)|t(?:able(?:of|)|he|itle))(?=[a-z]+)
# latex (check-spelling >= 0.0.22) # latex (check-spelling >= 0.0.22)
\\\w{2,}\{ \\\w{2,}\{
# American Mathematical Society (AMS) / Doxygen
TeX/AMS
# File extensions
\*\.[+\w]+,
# eslint # eslint
"varsIgnorePattern": ".+" "varsIgnorePattern": ".+"
# nolint
nolint:\s*[\w,]+
# Windows short paths # Windows short paths
[/\\][^/\\]{5,6}~\d{1,2}(?=[/\\]) [/\\][^/\\]{5,6}~\d{1,2}[/\\]
# Windows Resources with accelerators
\b[A-Z]&[a-z]+\b(?!;)
# signed off by
(?i)Signed-off-by: .*
# cygwin paths
/cygdrive/[a-zA-Z]/(?:Program Files(?: \(.*?\)| ?)(?:/[-+.~\\/()\w ]+)*|[-+.~\\/()\w])+
# in check-spelling@v0.0.22+, printf markers aren't automatically consumed # in check-spelling@v0.0.22+, printf markers aren't automatically consumed
# printf markers # printf markers
#(?<!\\)\\[nrt](?=[a-z]{2,}) #(?<!\\)\\[nrt](?=[a-z]{2,})
# alternate printf markers if you run into latex and friends # alternate markers if you run into latex and friends
#(?<!\\)\\[nrt](?=[a-z]{2,})(?=.*['"`]) #(?<!\\)\\[nrt](?=[a-z]{2,})(?=.*['"`])
# Markdown anchor links
\(#\S*?[a-zA-Z]\S*?\)
# apache # apache
a2(?:en|dis) a2(?:en|dis)
# weak e-tag # weak e-tag
W/"[^"]+" W/"[^"]+"
# authors/credits
^\*(?: [A-Z](?:\w+|\.)){2,} (?=\[|$)
# the negative lookahead here is to allow catching 'templatesz' as a misspelling # the negative lookahead here is to allow catching 'templatesz' as a misspelling
# but to otherwise recognize a Windows path with \templates\foo.template or similar: # but to otherwise recognize a Windows path with \templates\foo.template or similar:
#\\(?:necessary|r(?:elease|eport|esolve[dr]?|esult)|t(?:arget|emplates?))(?![a-z]) #\\(?:necessary|r(?:eport|esolve[dr]?|esult)|t(?:arget|emplates?))(?![a-z])
# ignore long runs of a single character: # ignore long runs of a single character:
\b([A-Za-z])\g{-1}{3,}\b \b([A-Za-z])\g{-1}{3,}\b
@@ -750,34 +621,23 @@ W/"[^"]+"
# Compiler flags (Unix, Java/Scala) # Compiler flags (Unix, Java/Scala)
# Use if you have things like `-Pdocker` and want to treat them as `docker` # Use if you have things like `-Pdocker` and want to treat them as `docker`
#(?:^|[\t ,>"'`=(#])-(?:(?:J-|)[DPWXY]|[Llf])(?=[A-Z]{2,}|[A-Z][a-z]|[a-z]{2,}) #(?:^|[\t ,>"'`=(])-(?:(?:J-|)[DPWXY]|[Llf])(?=[A-Z]{2,}|[A-Z][a-z]|[a-z]{2,})
# Compiler flags (Windows / PowerShell) # Compiler flags (Windows / PowerShell)
# This is a subset of the more general compiler flags pattern. # This is a subset of the more general compiler flags pattern.
# It avoids matching `-Path` to prevent it from being treated as `ath` # It avoids matching `-Path` to prevent it from being treated as `ath`
#(?:^|[\t ,"'`=(#])-(?:[DPL](?=[A-Z]{2,})|[WXYlf](?=[A-Z]{2,}|[A-Z][a-z]|[a-z]{2,})) #(?:^|[\t ,"'`=(])-(?:[DPL](?=[A-Z]{2,})|[WXYlf](?=[A-Z]{2,}|[A-Z][a-z]|[a-z]{2,}))
# Compiler flags (linker) # Compiler flags (linker)
,-B ,-B
# libraries
#(?:\b|_)[Ll]ib(?:re(?=office)|)(?!era[lt]|ero|erty|rar(?:i(?:an|es)|y))(?=[a-z])
# iSCSI iqn (approximate regex)
\biqn\.[0-9]{4}-[0-9]{2}(?:[\.-][a-z][a-z0-9]*)*\b
# WWNN/WWPN (NAA identifiers)
\b(?:0x)?10[0-9a-f]{14}\b|\b(?:0x|3)?[25][0-9a-f]{15}\b|\b(?:0x|3)?6[0-9a-f]{31}\b
# curl arguments # curl arguments
\b(?:\\n|)curl(?:\.exe|)(?:\s+-[a-zA-Z]{1,2}\b)*(?:\s+-[a-zA-Z]{3,})(?:\s+-[a-zA-Z]+)* \b(?:\\n|)curl(?:\s+-[a-zA-Z]{1,2}\b)*(?:\s+-[a-zA-Z]{3,})(?:\s+-[a-zA-Z]+)*
# set arguments # set arguments
\b(?:bash|sh|set)(?:\s+[-+][abefimouxE]{1,2})*\s+[-+][abefimouxE]{3,}(?:\s+[-+][abefimouxE]+)* \bset(?:\s+-[abefimouxE]{1,2})*\s+-[abefimouxE]{3,}(?:\s+-[abefimouxE]+)*
# tar arguments # tar arguments
\b(?:\\n|)g?tar(?:\.exe|)(?:(?:\s+--[-a-zA-Z]+|\s+-[a-zA-Z]+|\s[ABGJMOPRSUWZacdfh-pr-xz]+\b)(?:=[^ ]*|))+ \b(?:\\n|)g?tar(?:\.exe|)(?:(?:\s+--[-a-zA-Z]+|\s+-[a-zA-Z]+|\s[ABGJMOPRSUWZacdfh-pr-xz]+\b)(?:=[^ ]*|))+
# tput arguments -- https://man7.org/linux/man-pages/man5/terminfo.5.html -- technically they can be more than 5 chars long... # tput arguments -- https://man7.org/linux/man-pages/man5/terminfo.5.html -- technically they can be more than 5 chars long...
\btput\s+(?:(?:-[SV]|-T\s*\w+)\s+)*\w{3,5}\b \btput\s+(?:(?:-[SV]|-T\s*\w+)\s+)*\w{3,5}\b
# macOS temp folders # macOS temp folders
/var/folders/\w\w/[+\w]+/(?:T|-Caches-)/ /var/folders/\w\w/[+\w]+/(?:T|-Caches-)/
# github runner temp folders
/home/runner/work/_temp/[-_/a-z0-9]+

View File

@@ -1,10 +1,8 @@
# See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-excludes # See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-excludes
(?:^|/)(?i)COPYRIGHT (?:^|/)(?i)COPYRIGHT
(?:^|/)(?i)LICEN[CS]E (?:^|/)(?i)LICEN[CS]E
(?:^|/)(?i)third[-_]?party/
(?:^|/)3rdparty/ (?:^|/)3rdparty/
(?:^|/)dirs$ (?:^|/)dirs$
(?:^|/)generated/
(?:^|/)go\.sum$ (?:^|/)go\.sum$
(?:^|/)package(?:-lock|)\.json$ (?:^|/)package(?:-lock|)\.json$
(?:^|/)Pipfile$ (?:^|/)Pipfile$
@@ -12,20 +10,17 @@
(?:^|/)requirements(?:-dev|-doc|-test|)\.txt$ (?:^|/)requirements(?:-dev|-doc|-test|)\.txt$
(?:^|/)sources(?:|\.dep)$ (?:^|/)sources(?:|\.dep)$
(?:^|/)vendor/ (?:^|/)vendor/
(?:^|/|\b)requirements(?:-dev|-doc|-test|)\.txt$
ignore$
Resources/(?!en)
[^/]\.vsdx$
\.a$ \.a$
\.ai$ \.ai$
\.all-contributorsrc$ \.all-contributorsrc$
\.avi$ \.avi$
\.bmp$ \.bmp$
\.bz2$ \.bz2$
\.cert?$|\.crt$ \.cer$
\.class$ \.class$
\.coveragerc$ \.coveragerc$
\.crl$ \.crl$
\.crt$
\.csr$ \.csr$
\.dll$ \.dll$
\.docx?$ \.docx?$
@@ -37,6 +32,7 @@ Resources/(?!en)
\.gif$ \.gif$
\.git-blame-ignore-revs$ \.git-blame-ignore-revs$
\.gitattributes$ \.gitattributes$
\.gitignore$
\.gitkeep$ \.gitkeep$
\.graffle$ \.graffle$
\.gz$ \.gz$
@@ -45,7 +41,8 @@ Resources/(?!en)
\.ipynb$ \.ipynb$
\.jar$ \.jar$
\.jks$ \.jks$
\.jpe?g$ \.jpeg$
\.jpg$
\.key$ \.key$
\.lib$ \.lib$
\.lock$ \.lock$
@@ -53,7 +50,8 @@ Resources/(?!en)
\.min\.. \.min\..
\.mo$ \.mo$
\.mod$ \.mod$
\.mp[34]$ \.mp3$
\.mp4$
\.o$ \.o$
\.ocf$ \.ocf$
\.otf$ \.otf$
@@ -72,7 +70,8 @@ Resources/(?!en)
\.s$ \.s$
\.sig$ \.sig$
\.so$ \.so$
\.svgz?$ \.svg$
\.svgz$
\.sys$ \.sys$
\.tar$ \.tar$
\.tgz$ \.tgz$
@@ -89,6 +88,14 @@ Resources/(?!en)
\.xpm$ \.xpm$
\.xz$ \.xz$
\.zip$ \.zip$
^\.github/actions/spelling/
^\Q.github/workflows/spelling.yml\E$
^\Qbuild/config/release.gdnbaselines\E$
^\Qsrc/host/ft_host/chafa.txt\E$
^\Qsrc/host/ft_uia/run.bat\E$
^\Qsrc/host/runft.bat\E$
^\Qsrc/tools/lnkd/lnkd.bat\E$
^\Qsrc/tools/pixels/pixels.bat\E$
^build/config/ ^build/config/
^build/StoreSubmission/ ^build/StoreSubmission/
^consolegit2gitfilters\.json$ ^consolegit2gitfilters\.json$
@@ -96,10 +103,9 @@ Resources/(?!en)
^doc/reference/master-sequence-list\.csv$ ^doc/reference/master-sequence-list\.csv$
^doc/reference/UTF8-torture-test\.txt$ ^doc/reference/UTF8-torture-test\.txt$
^doc/reference/windows-terminal-logo\.ans$ ^doc/reference/windows-terminal-logo\.ans$
^oss/
^NOTICE.md ^NOTICE.md
^oss/.*?/
^samples/PixelShaders/Screenshots/ ^samples/PixelShaders/Screenshots/
^src/cascadia/TerminalSettingsEditor/SegoeFluentIconList.h$
^src/interactivity/onecore/BgfxEngine\. ^src/interactivity/onecore/BgfxEngine\.
^src/renderer/atlas/ ^src/renderer/atlas/
^src/renderer/wddmcon/WddmConRenderer\. ^src/renderer/wddmcon/WddmConRenderer\.
@@ -112,6 +118,7 @@ Resources/(?!en)
^src/terminal/parser/ut_parser/run\.bat$ ^src/terminal/parser/ut_parser/run\.bat$
^src/tools/benchcat ^src/tools/benchcat
^src/tools/ConsoleBench ^src/tools/ConsoleBench
^src/tools/integrity/dirs$
^src/tools/integrity/packageuwp/ConsoleUWP\.appxSources$ ^src/tools/integrity/packageuwp/ConsoleUWP\.appxSources$
^src/tools/RenderingTests/main\.cpp$ ^src/tools/RenderingTests/main\.cpp$
^src/tools/texttests/fira\.txt$ ^src/tools/texttests/fira\.txt$
@@ -120,17 +127,6 @@ Resources/(?!en)
^src/types/ut_types/UtilsTests\.cpp$ ^src/types/ut_types/UtilsTests\.cpp$
^tools/ReleaseEngineering/ServicingPipeline\.ps1$ ^tools/ReleaseEngineering/ServicingPipeline\.ps1$
^XamlStyler\.json$ ^XamlStyler\.json$
^\.github/actions/spelling/ ignore$
^\.github/workflows/spelling\d*\.yml$ Resources/(?!en)
^\.vsconfig$ ^\.vsconfig$
^\Qbuild/config/release.gdnbaselines\E$
^\Qdep/WinAppDriver/EULA.rtf\E$
^\Qdoc/reference/windows-terminal-logo.ans\E$
^\Qsrc/host/ft_host/chafa.txt\E$
^\Qsrc/host/ft_uia/run.bat\E$
^\Qsrc/host/runft.bat\E$
^\Qsrc/terminal/parser/ft_fuzzer/run.bat\E$
^\Qsrc/terminal/parser/ft_fuzzwrapper/run.bat\E$
^\Qsrc/tools/lnkd/lnkd.bat\E$
^\Qsrc/tools/pixels/pixels.bat\E$
^\Qsrc/cascadia/ut_app/FzfTests.cpp\E$

View File

@@ -1,19 +1,38 @@
AAAAAABBBBBBCCC
AAAAABBBBBBCCC
abcd
abcd
ABCDEFGHIJ
abcdefghijk
ABCDEFGHIJKLMNOPQRS
ABCDEFGHIJKLMNOPQRST
ABCG ABCG
ABE ABE
AZZ abf
BBDM BBBBB
BBBBBCCC
BBBBCCCCC
BBGGRR BBGGRR
CBN
cbt
Ccc
cch
efg efg
EFG
efgh efgh
fdw EFGh
fesb KLMNOQQQQQQQQQQ
ffd QQQQQQQQQQABCDEFGHIJ
FFFD QQQQQQQQQQABCDEFGHIJKLMNOPQRS
QQQQQQQQQQABCDEFGHIJKLMNOPQRSTQQQQQQQQQ
QQQQQQQQQQABCDEFGHIJKLMNOPQRSTQQQQQQQQQQ
QQQQQQQQQQABCDEFGHIJPQRST
QQQQQQQQQQABCDEFGHIJPQRSTQQQQQQQQQQ
qwerty qwerty
qwertyuiopasdfg qwertyuiopasdfg
ZAAZZ
ZABBZ
ZBAZZ
ZBBBZ
ZBBZZ
ZYXWVUT ZYXWVUT
zzf ZZBBZ
ZZZBB
ZZZBZ
ZZZZZ

File diff suppressed because it is too large Load Diff

View File

@@ -1,498 +1,119 @@
# reject `m_data` as VxWorks defined it and that breaks things if it's used elsewhere # reject `m_data` as VxWorks defined it and that breaks things if it's used elsewhere
# see [fprime](https://github.com/nasa/fprime/commit/d589f0a25c59ea9a800d851ea84c2f5df02fb529) # see [fprime](https://github.com/nasa/fprime/commit/d589f0a25c59ea9a800d851ea84c2f5df02fb529)
# and [Qt](https://github.com/qtproject/qt-solutions/blame/fb7bc42bfcc578ff3fa3b9ca21a41e96eb37c1c7/qtscriptclassic/src/qscriptbuffer_p.h#L46) # and [Qt](https://github.com/qtproject/qt-solutions/blame/fb7bc42bfcc578ff3fa3b9ca21a41e96eb37c1c7/qtscriptclassic/src/qscriptbuffer_p.h#L46)
#\bm_data\b # \bm_data\b
# Were you debugging using a framework with `fit()`?
# If you have a framework that uses `it()` for testing and `fit()` for debugging a specific test, # If you have a framework that uses `it()` for testing and `fit()` for debugging a specific test,
# you might not want to check in code where you skip all the other tests. # you might not want to check in code where you were debugging w/ `fit()`, in which case, you might want
# to use this:
#\bfit\( #\bfit\(
# English does not use a hyphen between adverbs and nouns # s.b. anymore
# https://twitter.com/nyttypos/status/1894815686192685239
(?:^|\s)[A-Z]?[a-z]+ly-(?=[a-z]{3,})(?:[.,?!]?\s|$)
# Don't use `requires that` + `to be`
# https://twitter.com/nyttypos/status/1894816551435641027
\brequires that \w+\b[^.]+to be\b
# A fully parenthetical sentences period goes inside the parentheses, not outside.
# https://twitter.com/nyttypos/status/1898844061873639490
\([A-Z][a-z]{2,}(?: [a-z]+){3,}\)\.\s
# Complete sentences shouldn't be in the middle of another sentence as a parenthetical.
(?<!\.)(?<!\betc)\.\),
# Complete sentences in parentheticals should not have a space before the period.
\s\.\)(?!.*\}\})
# Should be `HH:MM:SS`
\bHH:SS:MM\b
# Should be `86400` (seconds in a standard day)
\b84600\b(?:.*\bday\b)
# Should probably be `2006-01-02` (yyyy-mm-dd)
# Assuming that the time is being passed to https://go.dev/src/time/format.go
\b2006-02-01\b
# Should probably be `YYYYMMDD`
\b[Yy]{4}[Dd]{2}[Mm]{2}(?!.*[Yy]{4}[Dd]{2}[Mm]{2}).*$
# Should be `a priori` or `and prior`
(?i)(?<!posteriori)\sand priori\s
# Should be `a`
\san (?=(?:[b-df-gj-np-rtv-xz]|h(?!our|sl|tml|ttp)|s(?!sh|vg))[a-z])
# Should only be one of `a`, `an`, or `the`
\b(?:(?:an?|the)\s+){2,}\b
# Should only be `are` or `can`, not both
\b(?:(?:are|can)\s+){2,}\b
# Should probably be `ABCDEFGHIJKLMNOPQRSTUVWXYZ`
(?i)(?!ABCDEFGHIJKLMNOPQRSTUVWXYZ)ABC[A-Z]{21}YZ
# Should be `an`
(?<!\b[Ii] )\bam\b
# Should be `anymore`
\bany more[,.] \bany more[,.]
# Should be `Ask` # s.b. GitHub
(?:^|[.?]\s+)As\s+[A-Z][a-z]{2,}\s[^.?]*?(?:how|if|wh\w+)\b (?<![&*.]|// |\btype )\bGithub\b(?![{)])
# Should be `at one fell swoop` # s.b. GitLab
# and only when talking about killing, not some other completion (?<![&*.]|// |\btype )\bGitlab\b(?![{)])
# Act 4 Scene 3, Macbeth
# https://www.opensourceshakespeare.org/views/plays/play_view.php?WorkID=macbeth&Act=4&Scene=3&Scope=scene
\bin one fell s[lw]?oop\b
# Should be `'` # s.b. JavaScript
(?i)\b(?:(?:i|s?he|they|what|who|you)[`"]ll|(?:are|ca|did|do|does|ha[ds]|have|is|should|were|wo|would)n[`"]t|(?:s?he|let|that|there|what|where|who)[`"]s|(?:i|they|we|what|who|you)[`"]ve)\b
# Should be `background` / `intro text` / `introduction` / `prologue` unless it's a brand or relates to _subterfuge_
(?i)\bpretext\b
# Should be `bearer`
\b(?<=the )burden(?= of bad news\b)
# Should be `branches`
# ... unless it's really about the meal that replaces breakfast and lunch.
\b[Bb]runches\b
# Should be `briefcase`
\bbrief-case\b
# Should be `by far` or `far and away`
\bby far and away\b
# Should be `can, not only ..., ... also...`
\bcan not only.*can also\b
# Should be `cannot` (or `can't`)
# See https://www.grammarly.com/blog/cannot-or-can-not/
# > Don't use `can not` when you mean `cannot`. The only time you're likely to see `can not` written as separate words is when the word `can` happens to precede some other phrase that happens to start with `not`.
# > `Can't` is a contraction of `cannot`, and it's best suited for informal writing.
# > In formal writing and where contractions are frowned upon, use `cannot`.
# > It is possible to write `can not`, but you generally find it only as part of some other construction, such as `not only . . . but also.`
# - if you encounter such a case, add a pattern for that case to patterns.txt.
\b[Cc]an not\b(?! only\b)
# Should be `chart`
(?i)\bhelm\b.*\bchard\b
# Do not use `(click) here` links
# For more information, see:
# * https://www.w3.org/QA/Tips/noClickHere
# * https://webaim.org/techniques/hypertext/link_text
# * https://granicus.com/blog/why-click-here-links-are-bad/
# * https://heyoka.medium.com/dont-use-click-here-f32f445d1021
(?i)(?:>|\[)(?:(?:click |)here|link|(?:read |)more)(?:</|\]\()
# Including "image of" or "picture of" in alt text is unnecessary.
\balt=['"](?:an? |)(?:image|picture) of
# Alt text should be short
\balt=(?:'[^']{126,}'|"[^"]{126,}")
# Should be `equals` to `is equal to`
\bequals to\b
# Should be `ECMA` 262 (JavaScript)
(?i)\bTS\/EMCA\b|\bEMCA(?: \d|\s*Script)|\bEMCA\b(?=.*\bTS\b)
# Should be `ECMA` 340 (Near Field Communications)
(?i)EMCA[- ]340
# Should be `fall back`
(?<!\ba )(?<!\bthe )\bfallback(?= to(?! ask))\b
# Should be `for`, `for, to` or `to`
\b(?:for to|to for)\b
# Should be `GitHub`
(?<![&*.]|// |\b(?:from|import|type) )\bGithub\b(?![{()])
# Should be `GitLab`
(?<![&*.]|// |\b(?:from|import|type) )\bGitlab\b(?![{()])
# Should probably be `https://`...
# Markdown generally doesn't assume that links are to urls
\]\(www\.\w
# Should be `JavaScript`
\bJavascript\b \bJavascript\b
# Should be `macOS` or `Mac OS X` or ... # s.b. macOS or Mac OS X or ...
\bMacOS\b \bMacOS\b
# Should be `Microsoft` # s.b. Microsoft
\bMicroSoft\b \bMicroSoft\b
# Should be `OAuth` # s.b. TypeScript
(?:^|[^-/*$])[ '"]oAuth(?: [a-z]|\d+ |[^ a-zA-Z0-9:;_.()])
# Should be `RabbitMQ`
\bRabbitmq\b
# Should be `TensorFlow`
\bTensorflow\b
# Should be `TypeScript`
\bTypescript\b \bTypescript\b
# Should be `another` # s.b. another
\ban[- ]other(?!-)\b \ban[- ]other\b
# Should be `case-(in)sensitive` # s.b. deprecation warning
\bcase (?:in|)sensitive\b
# Should be `coinciding`
\bco-inciding\b
# Should be `deprecation warning(s)`
\b[Dd]epreciation [Ww]arnings?\b \b[Dd]epreciation [Ww]arnings?\b
# Should be `greater than` # s.b. greater than
\bgreater then\b \bgreater then\b
# Should be `has` # s.b. in front of
\b[Ii]t only have\b
# Should be `here-in`, `the`, `them`, `this`, `these` or reworded in some other way
\bthe here(?:\.|,| (?!and|defined))
# Should be `going to bed` or `going to a bad`
\bgoing to bad(?!-)\b
# Should be `greater than`
#\bhigher than\b
# Should be `ID` (unless it's a flag/property)
#(?<![-\.])\bId\b(?![(])
# Should be `in front of`
\bin from of\b \bin from of\b
# Should be `into` # s.b. into
# when not phrasal and when `in order to` would be wrong: # when not phrasal and when `in order to` would be wrong:
# https://thewritepractice.com/into-vs-in-to/ # https://thewritepractice.com/into-vs-in-to/
#\sin to\s(?!if\b) #\sin to\s(?!if\b)
# Should be `use` # s.b. is obsolete
\sin used by\b
# Should be `in-depth` if used as an adjective (but `in depth` when used as an adverb)
\bin depth\s(?!rather\b)\w{6,}
# Should be `in-flight` or `on the fly` (unless actually talking about airline flights)
\bon[- ]flight\b(?!=\s+(?:(?:\w{2}|)\d+|availability|booking|computer|data|delay|departure|management|performance|radar|reservation|scheduling|software|status|ticket|time|type|.*(?:hotel|taxi)))
# Should be `is obsolete`
\bis obsolescent\b \bis obsolescent\b
# Should be `it's` or `its` # s.b. it's or its
\bits['] \bits[']
# Should be `its` # s.b. opt-in
\bit's(?= (?:child|only purpose|own(?:er|)|parent|sibling)\b) #(?<!\sfor)\sopt in\s
# Should be `for its` (possessive) or `because it is` # s.b. less than
\bfor it(?:'s| is)\b
# Should be `log in`
\blogin to the
# Should be `long-standing`
\blong standing\b
# Should be `lose`
(?<=\bwill )loose\b
# `apt-key` is deprecated
# ... instead you should be writing a pair of files:
# ... * the gpg key added to a distinct key ring file based on your project/distro/key...
# ... * the sources.list in a district file -- not simply appended to `/etc/apt/sources.list` -- (there is a newer format [DEB822](https://manpages.debian.org/bookworm/dpkg-dev/deb822.5.en.html)) that references the gpg key.
# Consider:
# ````sh
# curl http://download.something.example.com/$DISTRO/Release.key | \
# gpg --dearmor --yes --output /usr/share/keyrings/something-distro.gpg
# echo "deb [signed-by=/usr/share/keyrings/something-distro.gpg] http://download.something.example.com/repositories/home:/$DISTRO ./" \
# >> /etc/apt/sources.list.d/something-distro.list
# ````
\bapt-key add\b
# Should be `nearby`
\bnear by\b
# Should probably be a person named `Nick` or the abbreviation `NIC`
\bNic\b
# Should be `not supposed`
\bsupposed not\b
# Should probably be `much more`
\bmore much\b
# Should be `perform its`
\bperform it's\b
# Should be `opt-in`
#(?<!\scan|for)(?<!\smust)(?<!\sif)\sopt in\s
# Should be `less than`
\bless then\b \bless then\b
# Should be `load balancer` # s.b. one of
\b[Ll]oud balancer \bon of\b
# Should be `moot` # s.b. otherwise
\bmute point\b
# Should be `one of`
(?<!-)\bon of\b
# Should be `on the other hand`
\b(?i)on another hand\b
# Reword to `on at runtime` or `enabled at launch`
# The former if you mean it can be changed dynamically.
# The latter if you mean that it can be changed without recompiling but not after the program starts.
\bswitched on runtime\b
# Should be `Of course,`
[?.!]\s+Of course\s(?=[-\w\s]+[.?;!,])
# Most people only have two hands. Reword.
\b(?i)on the third hand\b
# Should be `Open Graph`
# unless talking about a specific Open Graph implementation:
# - Java
# - Node
# - Py
# - Ruby
\bOpenGraph\b
# Should be `OpenShift`
\bOpenshift\b
# Should be `otherwise`
\bother[- ]wise\b \bother[- ]wise\b
# Should be `; otherwise` or `. Otherwise` # s.b. or (more|less)
# https://study.com/learn/lesson/otherwise-in-a-sentence.html
, [Oo]therwise\b
# Should probably be `Otherwise,`
(?<=\. )Otherwise\s
# Should be `or (more|less)`
\bore (?:more|less)\b \bore (?:more|less)\b
# Should be reworded. # s.b. nonexistent
# `passthrough` is an adjective
# `pass-through` could be a noun
# `pass through` would be a verb phrase
\b(?i)passthrough(?= an?\b)
# Should be `rather than`
\brather then\b
# Should be `Red Hat`
\bRed[Hh]at\b
# Should be `regardless, ...` or `regardless of (whether)`
\b[Rr]egardless if you\b
# Should be `self-signed`
\bself signed\b
# Should be `SendGrid`
\bSendgrid\b
# Should be `set up` (`setup` is a noun / `set up` is a verb)
\b[Ss]etup(?= (?:an?|the)\b)
# Should be `state`
\bsate(?=\b|[A-Z])|(?<=[a-z])Sate(?=\b|[A-Z])|(?<=[A-Z]{2})Sate(?=\b|[A-Z])
# Should be `no longer needed`
\bno more needed\b(?! than\b)
# Should be `<see|look> below for the`
(?i)\bfind below the\b
# Should be `then any` unless there's a comparison before the `,`
, than any\b
# Should be `did not exist`
\bwere not existent\b
# Should be `nonexistent`
\bnon existing\b \bnon existing\b
# Should be `nonexistent`
\b[Nn]o[nt][- ]existent\b \b[Nn]o[nt][- ]existent\b
# Should be `our` # s.b. brief / details/ param / return / retval
\bspending out time\b
# Should be `@brief` / `@details` / `@param` / `@return` / `@retval`
(?:^\s*|(?:\*|//|/*)\s+`)[\\@](?:breif|(?:detail|detials)|(?:params(?!\.)|prama?)|ret(?:uns?)|retvl)\b (?:^\s*|(?:\*|//|/*)\s+`)[\\@](?:breif|(?:detail|detials)|(?:params(?!\.)|prama?)|ret(?:uns?)|retvl)\b
# Should be `more than` or `more, then` # s.b. preexisting
\bmore then\b
# Should be `Pipeline`/`pipeline`
(?:(?<=\b|[A-Z])p|P)ipeLine(?:\b|(?=[A-Z]))
# Should be `preexisting`
[Pp]re[- ]existing [Pp]re[- ]existing
# Should be `preempt` # s.b. preempt
[Pp]re[- ]empt\b [Pp]re[- ]empt\b
# Should be `preemptively` # s.b. preemptively
[Pp]re[- ]emptively [Pp]re[- ]emptively
# Should be `prepopulate` # s.b. recently changed or recent changes
[Pp]re[- ]populate
# Should be `prerequisite`
[Pp]re[- ]requisite
# Should be `recently changed` or `recent changes`
[Rr]ecent changed [Rr]ecent changed
# Should be `reentrancy` # s.b. reentrancy
[Rr]e[- ]entrancy [Rr]e[- ]entrancy
# Should be `reentrant` # s.b. reentrant
[Rr]e[- ]entrant [Rr]e[- ]entrant
# Should be `room for` # s.b. understand
\brooms for (?!lease|rent|sale)
# Should be `socioeconomic`
# https://dictionary.cambridge.org/us/dictionary/english/socioeconomic
socio-economic
# Should be `strong suit`
\b(?:my|his|her|their) strong suite\b
# Should probably be `temperatures` unless actually talking about thermal drafts (things birds may fly on)
\bthermals\b
# Should be `there are` or `they are` (or `they're`)
(?i)\btheir are\b
# Should be `understand`
\bunder stand\b \bunder stand\b
# Should be `URI` or `uri` unless it refers to a person named `Uri` (or a flag) # s.b. workarounds
#(?<![-\.])\bUri\b(?![(])
# Should be `it uses is`
/\bis uses is\b/
# Should be `uses it as`
(?:^|\. |and )uses is as (?!an?\b|follows|livestock|[^.]+\s+as\b)
# Should be `was`
\bhas been(?= removed in v?\d)
# Should be `where`
\bwere they are\b
# Should be `why`
, way(?= is [^.]*\?)
# should be `vCenter`
\bV[Cc]enter\b
# Should be `VM`
\bVm\b
# Should be `walkthrough(s)`
\bwalk-throughs?\b
# Should be `want`
\bdon't ant\b
# Should be `we'll`
\bwe 'll\b
# Should be `whereas`
\bwhere as\b
# Should be `WinGet`
\bWinget\b
# Should be `without` (unless `out` is a modifier of the next word)
\bwith out\b(?!-)
# Should be `work around`
\b[Ww]orkaround(?= an?\b)
# Should be `workarounds`
#\bwork[- ]arounds\b #\bwork[- ]arounds\b
# Should be `workaround` # s.b. workaround
(?:(?:[Aa]|[Tt]he|ugly)\swork[- ]around\b|\swork[- ]around\s+for) (?:(?:[Aa]|[Tt]he|ugly)\swork[- ]around\b|\swork[- ]around\s+for)
# Should be `workaround` # s.b. (coarse|fine)-grained
\b[Ww]alk[- ]around\b
# Should be `worst`
(?i)worse-case
# Should be `you are not` or reworded
\byour not\b
# Should be `(coarse|fine)-grained`
\b(?:coarse|fine) grained\b \b(?:coarse|fine) grained\b
# Homoglyph (Cyrillic) should be `A`/`B`/`C`/`E`/`H`/`I`/`I`/`J`/`K`/`M`/`O`/`P`/`S`/`T`/`Y` # s.b. neither/nor -- or reword
# It's possible that your content is intentionally mixing Cyrillic and Latin scripts, but if it isn't, you definitely want to correct this. #\bnot\b[^.?!"/(]+\bnor\b
(?<=[A-Z]{2})[АВСЕНІӀЈКМОРЅТУ]|[АВСЕНІӀЈКМОРЅТУ](?=[A-Z]+(?:\b|[a-z]+)|[a-z]+(?:[^a-z]|$))
# Homoglyph (Cyrillic) should be `a`/`b`/`c`/`e`/`o`/`p`/`x`/`y` # probably a double negative
# It's possible that your content is intentionally mixing Cyrillic and Latin scripts, but if it isn't, you definitely want to correct this. # s.b. neither/nor (plus rewording the beginning)
[авсеорху](?=[A-Za-z]{2,})|(?<=[A-Za-z]{2})[авсеорху]|(?<=[A-Za-z])[авсеорху](?=[A-Za-z]) \bnot\b[^.?!"/]*\bneither\b[^.?!"/(]*\bnor\b
# Should be `neither/nor` -- or reword # In English, it is generally wrong to have the same word twice in a row without punctuation.
#(?!<do )\bnot\b([^.?!"/(](?!neither|,.*?,))+\bnor\b # Duplicated words are generally mistakes.
# There are a few exceptions where it is acceptable (e.g. "that that").
# Should be `neither/nor` (plus rewording the beginning) # If the highlighted doubled word pair is in a code snippet, you can write a pattern to mask it.
# This is probably a double negative... # If the highlighted doubled word pair is in prose, have someone read the English before you dismiss this error.
\bnot\b[^.?!"/(]*\bneither\b[^.?!"/(]*\bnor\b
# In English, duplicated words are generally mistakes
# There are a few exceptions (e.g. "that that").
# If the highlighted doubled word pair is in:
# * code, write a pattern to mask it.
# * prose, have someone read the English before you dismiss this error.
\s([A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,})\s\g{-1}\s \s([A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,})\s\g{-1}\s

View File

@@ -1,165 +1,5 @@
# See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns # See https://github.com/check-spelling/check-spelling/wiki/Configuration-Examples:-patterns
# Windows accelerators
\b[A-Z][a-z]*&[a-z]+(?!;)\b
# charsets.hpp
\{ L.*\}, // (?:Cyrillic|Greek|Hebrew).*
# Screen buffer tests
\bQQ[A-Z]+\s*[A-Z]*Q+\b
# Unicode references
(?<=\W)(?:U\+?|)[0-9A-F]+b?\b
# Verify
VERIFY_IS_TRUE\(.*\)
# TEST_METHOD(ApiScrollConsoleScreenBufferW)
\bZ[A-Z]+$
# TerminalApiTest
stateMachine\.ProcessString\(L".*"
# bundles
[0-9a-z]+\\?\.msixbundle
# text file names
"[a-z]+\.txt"
# Checksum
L"[0-9A-F]{4}"
# Direct 2D/3D
\b(?:d[23]d(?=[a-z])|D[23]D(?=[A-Z]))
# x86/x64
(?<=[a-z])x(?:86|64)
# Windows Resources with accelerators
\b[A-Z]&[a-z]+\b(?!;)
# Automatically suggested patterns
# hit-count: 3904 file-count: 577
# IServiceProvider / isAThing
(?:(?:\b|_|(?<=[a-z]))[IT]|(?:\b|_)(?:nsI|isA))(?=(?:[A-Z][a-z]{2,})+(?:[A-Z\d]|\b))
# hit-count: 2437 file-count: 826
# #includes
^\s*#include\s*(?:<.*?>|".*?")
# hit-count: 1131 file-count: 326
# C# includes
^\s*using [^;]+;
# hit-count: 128 file-count: 47
# C network byte conversions
(?:\d|\bh)to(?!ken)(?=[a-z])|to(?=[adhiklpun]\()
# hit-count: 53 file-count: 10
# ANSI color codes
(?:\\(?:u00|x)1[Bb]|\\03[1-7]|\x1b|\\u\{1[Bb]\})\[\d+(?:;\d+)*m
# hit-count: 45 file-count: 29
# version suffix <word>v#
(?:(?<=[A-Z]{2})V|(?<=[a-z]{2}|[A-Z]{2})v)\d+(?:\b|(?=[a-zA-Z_]))
# hit-count: 30 file-count: 19
# uuid:
\b[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}\b
# hit-count: 17 file-count: 7
# File extensions
\*\.[+\w]+,
# hit-count: 15 file-count: 9
# Markdown anchor links
\(#\S*?[a-zA-Z]\S*?\)
# hit-count: 14 file-count: 8
# hex runs
\b[0-9a-fA-F]{16,}\b
# hit-count: 12 file-count: 8
# hex digits including css/html color classes:
(?:[\\0][xX]|\\u|[uU]\+|#x?|%23|&H)[0-9_a-fA-FgGrR]*?[a-fA-FgGrR]{2,}[0-9_a-fA-FgGrR]*(?:[uUlL]{0,3}|[iu]\d+)\b
# hit-count: 12 file-count: 7
# tar arguments
\b(?:\\n|)g?tar(?:\.exe|)(?:(?:\s+--[-a-zA-Z]+|\s+-[a-zA-Z]+|\s[ABGJMOPRSUWZacdfh-pr-xz]+\b)(?:=[^ ]*|))+
# hit-count: 9 file-count: 6
# Repeated letters
\b([a-z])\g{-1}{2,}\b
# hit-count: 8 file-count: 2
# regex choice
\(\?:[^)]+\|[^)]+\)
# hit-count: 8 file-count: 1
# latex (check-spelling >= 0.0.22)
\\\w{2,}\{
# hit-count: 7 file-count: 4
# Python string prefix / binary prefix
# Note that there's a high false positive rate, remove the `?=` and search for the regex to see if the matches seem like reasonable strings
(?<!['"])\b(?:B|BR|Br|F|FR|Fr|R|RB|RF|Rb|Rf|U|UR|Ur|b|bR|br|f|fR|fr|r|rB|rF|rb|rf|u|uR|ur)['"](?=[A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,})
# hit-count: 5 file-count: 3
# Alternatively, if you're using check-spelling v0.0.25+, and you would like to _check_ the Non-English content for spelling errors, you can. For information on how to do so, see:
# https://docs.check-spelling.dev/Feature:-Configurable-word-characters.html#unicode
[a-zA-Z]*[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź][a-zA-Z]{3}[a-zA-ZÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź]*|[a-zA-Z]{3,}[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź]|[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź][a-zA-Z]{3,}
# hit-count: 3 file-count: 3
# mailto urls
mailto:[-a-zA-Z=;:/?%&0-9+@._]{3,}
# hit-count: 2 file-count: 2
# Alternative printf
# %s
%(?:s(?=[a-z]{2,}))(?!%)(?=[_a-zA-Z]+(?!%[^s])\b)(?=.*?['"])
# hit-count: 2 file-count: 1
# kubernetes crd patterns
^\s*pattern: .*$
# hit-count: 1 file-count: 1
# css fonts
\bfont(?:-family|):[^;}]+
# hit-count: 1 file-count: 1
# microsoft
\b(?:https?://|)(?:(?:(?:blogs|download\.visualstudio|docs|msdn2?|research)\.|)microsoft|blogs\.msdn)\.co(?:m|\.\w\w)/[-_a-zA-Z0-9()=./%]*
# hit-count: 1 file-count: 1
# Punycode
\bxn--[-0-9a-z]+
# hit-count: 1 file-count: 1
# sha-... -- uses a fancy capture
(\\?['"]|&quot;)[0-9a-f]{40,}\g{-1}
# hit-count: 1 file-count: 1
# Docker images
^\s*(?i)FROM\s+\S+:\S+(?:\s+AS\s+\S+|)
# hit-count: 1 file-count: 1
# WWNN/WWPN (NAA identifiers)
\b(?:0x)?10[0-9a-f]{14}\b|\b(?:0x|3)?[25][0-9a-f]{15}\b|\b(?:0x|3)?6[0-9a-f]{31}\b
# hit-count: 1 file-count: 1
# curl arguments
\b(?:\\n|)curl(?:\.exe|)(?:\s+-[a-zA-Z]{1,2}\b)*(?:\s+-[a-zA-Z]{3,})(?:\s+-[a-zA-Z]+)*
# hit-count: 1 file-count: 1
# tput arguments -- https://man7.org/linux/man-pages/man5/terminfo.5.html -- technically they can be more than 5 chars long...
\btput\s+(?:(?:-[SV]|-T\s*\w+)\s+)*\w{3,5}\b
# bug in check-spelling v0.0.24 (fixed later)
\bok'd\b
https?://\S+ https?://\S+
[Pp]ublicKeyToken="?[0-9a-fA-F]{16}"? [Pp]ublicKeyToken="?[0-9a-fA-F]{16}"?
(?:[{"]|UniqueIdentifier>)[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}(?:[}"]|</UniqueIdentifier) (?:[{"]|UniqueIdentifier>)[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}(?:[}"]|</UniqueIdentifier)
@@ -190,11 +30,24 @@ ROY\sG\.\sBIV
# ARM NEON intrinsics like "vsubq_u16" # ARM NEON intrinsics like "vsubq_u16"
\bv\w+_[fsu](?:8|16|32|64)\b \bv\w+_[fsu](?:8|16|32|64)\b
# color floating numbers
0x[0-9a-f](?:\.[0-9a-f]*p)[-+]\d+f
# AppX package # AppX package
_\d[0-9a-z]{12}['\.] _\d[0-9a-z]{12}['\.]
# string test # string test
equals_insensitive_ascii\("\w+", "\w+" equals_insensitive_ascii\("\w+", "\w+"
# Automatically suggested patterns
# hit-count: 3788 file-count: 599
# IServiceProvider / isAThing
\b(?:I|isA)(?=(?:[A-Z][a-z]{2,})+\b)
# hit-count: 314 file-count: 21
# hex runs
\b[0-9a-fA-F]{16,}\b
# hit-count: 47 file-count: 11 # hit-count: 47 file-count: 11
# special cased printf markers # special cased printf markers
\\r\\n(?=[a-z])|(?<!\\)\\[nrt](?=[a-z]{2,})(?=.*(?:<.*['"`]|"(?:[;,]|\);)$|\) \+$)) \\r\\n(?=[a-z])|(?<!\\)\\[nrt](?=[a-z]{2,})(?=.*(?:<.*['"`]|"(?:[;,]|\);)$|\) \+$))
@@ -202,43 +55,98 @@ equals_insensitive_ascii\("\w+", "\w+"
# ConsoleArgumentsTests # ConsoleArgumentsTests
--headless\\.*?" --headless\\.*?"
# hit-count: 109 file-count: 62
# Compiler flags (Unix, Java/Scala)
# Use if you have things like `-Pdocker` and want to treat them as `docker`
(?:^|[\t ,>"'`=(])-(?:D(?=[A-Z])|[WX]|f(?=[ms]))(?=[A-Z]{2,}|[A-Z][a-z]|[a-z]{2,})
# hit-count: 60 file-count: 35
# version suffix <word>v#
(?:(?<=[A-Z]{2})V|(?<=[a-z]{2}|[A-Z]{2})v)\d+(?:\b|(?=[a-zA-Z_]))
# hit-count: 2 file-count: 2
# This does not cover multiline strings, if your repository has them,
# you'll want to remove the `(?=.*?")` suffix.
# The `(?=.*?")` suffix should limit the false positives rate
# printf
%(?:s)(?!ize)(?=[a-z]{2,})
# hit-count: 16 file-count: 10
# uuid:
\b[0-9a-fA-F]{8}-(?:[0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}\b
# hit-count: 13 file-count: 4
# Non-English
[a-zA-Z]*[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź][a-zA-Z]{3}[a-zA-ZÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź]*|[a-zA-Z]{3,}[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź]|[ÀÁÂÃÄÅÆČÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝßàáâãäåæčçèéêëìíîïðñòóôõöøùúûüýÿĀāŁłŃńŅņŒœŚśŠšŜŝŸŽžź][a-zA-Z]{3,}
# hit-count: 7 file-count: 5
# hex digits including css/html color classes:
(?:[\\0][xX]|\\u|[uU]\+|#x?|\%23)[0-9_a-fA-FgGrR]*?[a-fA-FgGrR]{2,}[0-9_a-fA-FgGrR]*(?:[uUlL]{0,3}|[iu]\d+)\b
# hit-count: 7 file-count: 1
# regex choice
\(\?:[^)]+\|[^)]+\)
# hit-count: 4 file-count: 4
# tar arguments
\b(?:\\n|)g?tar(?:\.exe|)(?:(?:\s+--[-a-zA-Z]+|\s+-[a-zA-Z]+|\s[ABGJMOPRSUWZacdfh-pr-xz]+\b)(?:=[^ ]*|))+
# hit-count: 4 file-count: 1
# ANSI color codes
(?:\\(?:u00|x)1[Bb]|\x1b|\\u\{1[Bb]\})\[\d+(?:;\d+|)m
# hit-count: 4 file-count: 1
# Update Lorem based on your content (requires `ge` and `w` from https://github.com/jsoref/spelling; and `review` from https://github.com/check-spelling/check-spelling/wiki/Looking-for-items-locally )
# grep '^[^#].*lorem' .github/actions/spelling/patterns.txt|perl -pne 's/.*i..\?://;s/\).*//' |tr '|' "\n"|sort -f |xargs -n1 ge|perl -pne 's/^[^:]*://'|sort -u|w|sed -e 's/ .*//'|w|review -
# Warning, while `(?i)` is very neat and fancy, if you have some binary files that aren't proper unicode, you might run into:
## Operation "substitution (s///)" returns its argument for non-Unicode code point 0x1C19AE (the code point will vary).
## You could manually change `(?i)X...` to use `[Xx]...`
## or you could add the files to your `excludes` file (a version after 0.0.19 should identify the file path)
# Lorem
(?:\w|\s|[,.])*\b(?i)(?:amet|consectetur|cursus|dolor|eros|ipsum|lacus|libero|ligula|lorem|magna|neque|nulla|suscipit|tempus)\b(?:\w|\s|[,.])*
# hit-count: 3 file-count: 3
# mailto urls
mailto:[-a-zA-Z=;:/?%&0-9+@.]{3,}
# hit-count: 2 file-count: 1
# Python string prefix / binary prefix
# Note that there's a high false positive rate, remove the `?=` and search for the regex to see if the matches seem like reasonable strings
(?<!')\b(?:B|BR|Br|F|FR|Fr|R|RB|RF|Rb|Rf|U|UR|Ur|b|bR|br|f|fR|fr|r|rB|rF|rb|rf|u|uR|ur)'(?=[A-Z]{3,}|[A-Z][a-z]{2,}|[a-z]{3,})
# hit-count: 1 file-count: 1
# Punycode
\bxn--[-0-9a-z]+
# hit-count: 1 file-count: 1
# latex (check-spelling >= 0.0.22)
\\\w{2,}\{
# hit-count: 1 file-count: 1
# tput arguments -- https://man7.org/linux/man-pages/man5/terminfo.5.html -- technically they can be more than 5 chars long...
\btput\s+(?:(?:-[SV]|-T\s*\w+)\s+)*\w{3,5}\b
# Questionably acceptable forms of `in to` # Questionably acceptable forms of `in to`
# Personally, I prefer `log into`, but people object # Personally, I prefer `log into`, but people object
# https://www.tprteaching.com/log-into-log-in-to-login/ # https://www.tprteaching.com/log-into-log-in-to-login/
\b(?:(?:[Ll]og(?:g(?=[a-z])|)|[Ss]ign)(?:ed|ing)?) in to\b \b(?:[Ll]og|[Ss]ign) in to\b
# to opt in # to opt in
\bto opt in\b \bto opt in\b
# pass(ed|ing) in
\bpass(?:ed|ing) in\b
# acceptable duplicates # acceptable duplicates
# ls directory listings # ls directory listings
[-bcdlpsw](?:[-r][-w][-SsTtx]){3}[\.+*]?\s+\d+\s+\S+\s+\S+\s+[.\d]+(?:[KMGT]|)\s+ [-bcdlpsw](?:[-r][-w][-Ssx]){3}\s+\d+\s+\S+\s+\S+\s+\d+\s+
# mount # mount
\bmount\s+-t\s+(\w+)\s+\g{-1}\b \bmount\s+-t\s+(\w+)\s+\g{-1}\b
# C/idl types, repeated CSS values, + English ... # C types and repeated CSS values
\s(auto|buffalo|center|div|Guid|GUID|inherit|long|LONG|none|normal|solid|that|thin|transparent|very)(?: \g{-1})+\s \s(auto|center|div|Guid|inherit|long|LONG|none|normal|solid|that|thin|transparent|very)(?: \g{-1})+\s
# C enum and struct # C struct
\b(?:enum|struct)\s+(\w+)\s+\g{-1}\b \bstruct\s+(\w+)\s+\g{-1}\b
# go templates # go templates
\s(\w+)\s+\g{-1}\s+\`(?:graphql|inject|json|yaml): \s(\w+)\s+\g{-1}\s+\`(?:graphql|inject|json|yaml):
# doxygen / javadoc / .net # doxygen / javadoc / .net
(?:[\\@](?:brief|defgroup|groupname|link|t?param|return|retval)|(?:public|private|\[Parameter(?:\(.+\)|)\])(?:\s+(?:static|override|readonly|required|virtual))*)(?:\s+\{\w+\}|)\s+(\w+)\s+\g{-1}\s (?:[\\@](?:brief|groupname|t?param|return|retval)|(?:public|private|\[Parameter(?:\(.+\)|)\])(?:\s+static|\s+override|\s+readonly)*)(?:\s+\{\w+\}|)\s+(\w+)\s+\g{-1}\s
# macOS file path
(?:Contents\W+|(?!iOS)/)MacOS\b
# Python package registry has incorrect spelling for macOS / Mac OS X
"Operating System :: MacOS :: MacOS X"
# "company" in Germany
\bGmbH\b
# IntelliJ
\bIntelliJ\b
# Commit message -- Signed-off-by and friends # Commit message -- Signed-off-by and friends
^\s*(?:(?:Based-on-patch|Co-authored|Helped|Mentored|Reported|Reviewed|Signed-off)-by|Thanks-to): (?:[^<]*<[^>]*>|[^<]*)\s*$ ^\s*(?:(?:Based-on-patch|Co-authored|Helped|Mentored|Reported|Reviewed|Signed-off)-by|Thanks-to): (?:[^<]*<[^>]*>|[^<]*)\s*$

View File

@@ -1,25 +1,13 @@
^attache$ ^attache$
^attacher$ ^attacher$
^attachers$ ^attachers$
^bellow?$ ^bellow$
benefitting benefitting
occurences? occurences?
^dependan.* ^dependan.*
^develope$
^developement$
^developpe
^Devers?$
^devex
^devide
^Devinn?[ae]
^devisal
^devisor
^diables?$
^oer$ ^oer$
Sorce Sorce
^[Ss]pae.* ^[Ss]pae.*
^Teh$
^untill$ ^untill$
^untilling$ ^untilling$
^venders?$
^wether.* ^wether.*

View File

@@ -8,7 +8,7 @@ where:
configuration: configuration:
resourceManagementConfiguration: resourceManagementConfiguration:
scheduledSearches: scheduledSearches:
- description: '"Needs-Author-Feedback" and "No-Recent-Activity" issues are closed after 3 days of inactivity' - description:
frequencies: frequencies:
- hourly: - hourly:
hour: 3 hour: 3
@@ -23,7 +23,7 @@ configuration:
days: 3 days: 3
actions: actions:
- closeIssue - closeIssue
- description: '"Needs-Author-Feedback" issues are labelled "No-Recent-Activity" after 4 days of inactivity' - description:
frequencies: frequencies:
- hourly: - hourly:
hour: 3 hour: 3
@@ -41,7 +41,7 @@ configuration:
label: No-Recent-Activity label: No-Recent-Activity
- addReply: - addReply:
reply: This issue has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for **4 days**. It will be closed if no further activity occurs **within 3 days of this comment**. reply: This issue has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for **4 days**. It will be closed if no further activity occurs **within 3 days of this comment**.
- description: '"Resolution-Duplicate" issues are closed after 1 day of inactivity' - description:
frequencies: frequencies:
- hourly: - hourly:
hour: 3 hour: 3
@@ -56,7 +56,7 @@ configuration:
- addReply: - addReply:
reply: This issue has been marked as duplicate and has not had any activity for **1 day**. It will be closed for housekeeping purposes. reply: This issue has been marked as duplicate and has not had any activity for **1 day**. It will be closed for housekeeping purposes.
- closeIssue - closeIssue
- description: '"Needs-Author-Feedback" and "No-Recent-Activity" PRs are closed after 7 days of inactivity' - description:
frequencies: frequencies:
- hourly: - hourly:
hour: 3 hour: 3
@@ -71,7 +71,7 @@ configuration:
days: 7 days: 7
actions: actions:
- closeIssue - closeIssue
- description: Add "No-Recent-Activity" label to PRs with "Needs-Author-Feedback" label after 7 days of inactivity - description:
frequencies: frequencies:
- hourly: - hourly:
hour: 3 hour: 3
@@ -90,8 +90,7 @@ configuration:
- addReply: - addReply:
reply: This pull request has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for **7 days**. It will be closed if no further activity occurs **within 7 days of this comment**. reply: This pull request has been automatically marked as stale because it has been marked as requiring author feedback but has not had any activity for **7 days**. It will be closed if no further activity occurs **within 7 days of this comment**.
eventResponderTasks: eventResponderTasks:
- description: Add "Needs-Triage" to new issues - if:
if:
- payloadType: Issues - payloadType: Issues
- or: - or:
- and: - and:
@@ -103,8 +102,8 @@ configuration:
then: then:
- addLabel: - addLabel:
label: Needs-Triage label: Needs-Triage
- description: Replace "Needs-Author-Feedback" with "Needs-Attention" when author comments description:
if: - if:
- payloadType: Issue_Comment - payloadType: Issue_Comment
- isAction: - isAction:
action: Created action: Created
@@ -117,8 +116,8 @@ configuration:
label: Needs-Attention label: Needs-Attention
- removeLabel: - removeLabel:
label: Needs-Author-Feedback label: Needs-Author-Feedback
- description: Remove "No-Recent-Activity" when closing an issue description:
if: - if:
- payloadType: Issues - payloadType: Issues
- not: - not:
isAction: isAction:
@@ -128,16 +127,16 @@ configuration:
then: then:
- removeLabel: - removeLabel:
label: No-Recent-Activity label: No-Recent-Activity
- description: Remove "No-Recent-Activity" when someone comments on an issue description:
if: - if:
- payloadType: Issue_Comment - payloadType: Issue_Comment
- hasLabel: - hasLabel:
label: No-Recent-Activity label: No-Recent-Activity
then: then:
- removeLabel: - removeLabel:
label: No-Recent-Activity label: No-Recent-Activity
- description: Add "Needs-Author-Feedback" when changes are requested on a PR description:
if: - if:
- payloadType: Pull_Request_Review - payloadType: Pull_Request_Review
- isAction: - isAction:
action: Submitted action: Submitted
@@ -146,8 +145,8 @@ configuration:
then: then:
- addLabel: - addLabel:
label: Needs-Author-Feedback label: Needs-Author-Feedback
- description: Remove "Needs-Author-Feedback" when author performs activity on their PR description:
if: - if:
- payloadType: Pull_Request - payloadType: Pull_Request
- isActivitySender: - isActivitySender:
issueAuthor: True issueAuthor: True
@@ -159,8 +158,8 @@ configuration:
then: then:
- removeLabel: - removeLabel:
label: Needs-Author-Feedback label: Needs-Author-Feedback
- description: Remove "Needs-Author-Feedback" when author comments on their issue description:
if: - if:
- payloadType: Issue_Comment - payloadType: Issue_Comment
- isActivitySender: - isActivitySender:
issueAuthor: True issueAuthor: True
@@ -169,8 +168,8 @@ configuration:
then: then:
- removeLabel: - removeLabel:
label: Needs-Author-Feedback label: Needs-Author-Feedback
- description: Remove "Needs-Author-Feedback" when the author reviews the PR description:
if: - if:
- payloadType: Pull_Request_Review - payloadType: Pull_Request_Review
- isActivitySender: - isActivitySender:
issueAuthor: True issueAuthor: True
@@ -179,8 +178,8 @@ configuration:
then: then:
- removeLabel: - removeLabel:
label: Needs-Author-Feedback label: Needs-Author-Feedback
- description: Remove "No-Recent-Activity"" when activity occurs on the PR (aside from closing it) description:
if: - if:
- payloadType: Pull_Request - payloadType: Pull_Request
- not: - not:
isAction: isAction:
@@ -190,39 +189,39 @@ configuration:
then: then:
- removeLabel: - removeLabel:
label: No-Recent-Activity label: No-Recent-Activity
- description: Remove "No-Recent-Activity" when someone comments on the PR description:
if: - if:
- payloadType: Issue_Comment - payloadType: Issue_Comment
- hasLabel: - hasLabel:
label: No-Recent-Activity label: No-Recent-Activity
then: then:
- removeLabel: - removeLabel:
label: No-Recent-Activity label: No-Recent-Activity
- description: Remove "No-Recent-Activity" when someone reviews the PR description:
if: - if:
- payloadType: Pull_Request_Review - payloadType: Pull_Request_Review
- hasLabel: - hasLabel:
label: No-Recent-Activity label: No-Recent-Activity
then: then:
- removeLabel: - removeLabel:
label: No-Recent-Activity label: No-Recent-Activity
- description: Enable auto-merge on PRs with the "AutoMerge" label description:
if: - if:
- payloadType: Pull_Request - payloadType: Pull_Request
- hasLabel: - hasLabel:
label: AutoMerge label: AutoMerge
then: then:
- enableAutoMerge: - enableAutoMerge:
mergeMethod: Squash mergeMethod: Squash
- description: Disable auto-merge on PRs when the "AutoMerge" label is removed description:
if: - if:
- payloadType: Pull_Request - payloadType: Pull_Request
- labelRemoved: - labelRemoved:
label: AutoMerge label: AutoMerge
then: then:
- disableAutoMerge - disableAutoMerge
- description: Add "Needs-Tag-Fix" label to issues without an Area, Issue, or Product label description:
if: - if:
- payloadType: Issues - payloadType: Issues
- or: - or:
- and: - and:
@@ -239,45 +238,15 @@ configuration:
- not: - not:
hasLabel: hasLabel:
label: Area-Accessibility label: Area-Accessibility
- not:
hasLabel:
label: Area-AtlasEngine
- not:
hasLabel:
label: Area-AzureShell
- not: - not:
hasLabel: hasLabel:
label: Area-Build label: Area-Build
- not:
hasLabel:
label: Area-Chat
- not:
hasLabel:
label: Area-CmdPal
- not:
hasLabel:
label: Area-CodeHealth
- not:
hasLabel:
label: Area-Commandline
- not:
hasLabel:
label: Area-CookedRead
- not:
hasLabel:
label: Area-DefApp
- not: - not:
hasLabel: hasLabel:
label: Area-Extensibility label: Area-Extensibility
- not: - not:
hasLabel: hasLabel:
label: Area-Fonts label: Area-Fonts
- not:
hasLabel:
label: Area-GroupPolicy
- not:
hasLabel:
label: Area-i18n
- not: - not:
hasLabel: hasLabel:
label: Area-Input label: Area-Input
@@ -287,45 +256,21 @@ configuration:
- not: - not:
hasLabel: hasLabel:
label: Area-Interop label: Area-Interop
- not:
hasLabel:
label: Area-Localization
- not: - not:
hasLabel: hasLabel:
label: Area-Output label: Area-Output
- not: - not:
hasLabel: hasLabel:
label: Area-Performance label: Area-Performance
- not:
hasLabel:
label: Area-Portable
- not:
hasLabel:
label: Area-Quality
- not:
hasLabel:
label: Area-Remoting
- not: - not:
hasLabel: hasLabel:
label: Area-Rendering label: Area-Rendering
- not:
hasLabel:
label: Area-Schema
- not: - not:
hasLabel: hasLabel:
label: Area-Server label: Area-Server
- not: - not:
hasLabel: hasLabel:
label: Area-Settings label: Area-Settings
- not:
hasLabel:
label: Area-SettingsUI
- not:
hasLabel:
label: Area-ShellExtension
- not:
hasLabel:
label: Area-Suggestions
- not: - not:
hasLabel: hasLabel:
label: Area-TerminalConnection label: Area-TerminalConnection
@@ -334,19 +279,49 @@ configuration:
label: Area-TerminalControl label: Area-TerminalControl
- not: - not:
hasLabel: hasLabel:
label: Area-Theming label: Area-User Interface
- not:
hasLabel:
label: Area-UserInterface
- not: - not:
hasLabel: hasLabel:
label: Area-VT label: Area-VT
- not: - not:
hasLabel: hasLabel:
label: Area-Windowing label: Area-CodeHealth
- not:
hasLabel:
label: Area-Quality
- not:
hasLabel:
label: Area-AzureShell
- not:
hasLabel:
label: Area-Schema
- not:
hasLabel:
label: Area-Commandline
- not:
hasLabel:
label: Area-ShellExtension
- not: - not:
hasLabel: hasLabel:
label: Area-WPFControl label: Area-WPFControl
- not:
hasLabel:
label: Area-Settings UI
- not:
hasLabel:
label: Area-DefApp
- not:
hasLabel:
label: Area-Remoting
- not:
hasLabel:
label: Area-Windowing
- not:
hasLabel:
label: Area-Theming
- not:
hasLabel:
label: Area-Localization
- and: - and:
- not: - not:
hasLabel: hasLabel:
@@ -433,8 +408,8 @@ configuration:
then: then:
- addLabel: - addLabel:
label: Needs-Tag-Fix label: Needs-Tag-Fix
- description: Remove "Needs-Tag-Fix" label when an issue is tagged with an Area, Issue, and Product label description:
if: - if:
- payloadType: Issues - payloadType: Issues
- and: - and:
- isLabeled - isLabeled
@@ -442,117 +417,66 @@ configuration:
label: Needs-Tag-Fix label: Needs-Tag-Fix
- and: - and:
- or: - or:
- not: - hasLabel:
hasLabel: label: Area-Accessibility
label: Area-Accessibility - hasLabel:
- not: label: Area-Build
hasLabel: - hasLabel:
label: Area-AtlasEngine label: Area-Extensibility
- not: - hasLabel:
hasLabel: label: Area-Fonts
label: Area-AzureShell - hasLabel:
- not: label: Area-Input
hasLabel: - hasLabel:
label: Area-Build label: Area-Interaction
- not: - hasLabel:
hasLabel: label: Area-Interop
label: Area-Chat - hasLabel:
- not: label: Area-Output
hasLabel: - hasLabel:
label: Area-CmdPal label: Area-Performance
- not: - hasLabel:
hasLabel: label: Area-Rendering
label: Area-CodeHealth - hasLabel:
- not: label: Area-Server
hasLabel: - hasLabel:
label: Area-Commandline label: Area-Settings
- not: - hasLabel:
hasLabel: label: Area-TerminalConnection
label: Area-CookedRead - hasLabel:
- not: label: Area-TerminalControl
hasLabel: - hasLabel:
label: Area-DefApp label: Area-User Interface
- not: - hasLabel:
hasLabel: label: Area-VT
label: Area-Extensibility - hasLabel:
- not: label: Area-CodeHealth
hasLabel: - hasLabel:
label: Area-Fonts label: Area-Quality
- not: - hasLabel:
hasLabel: label: Area-Schema
label: Area-GroupPolicy - hasLabel:
- not: label: Area-AzureShell
hasLabel: - hasLabel:
label: Area-i18n label: Area-Commandline
- not: - hasLabel:
hasLabel: label: Area-ShellExtension
label: Area-Input - hasLabel:
- not: label: Area-WPFControl
hasLabel: - hasLabel:
label: Area-Interaction label: Area-Settings UI
- not: - hasLabel:
hasLabel: label: Area-DefApp
label: Area-Interop - hasLabel:
- not: label: Area-Localization
hasLabel: - hasLabel:
label: Area-Localization label: Area-Windowing
- not: - hasLabel:
hasLabel: label: Area-Theming
label: Area-Output - hasLabel:
- not: label: Area-AtlasEngine
hasLabel: - hasLabel:
label: Area-Performance label: Area-CmdPal
- not:
hasLabel:
label: Area-Portable
- not:
hasLabel:
label: Area-Quality
- not:
hasLabel:
label: Area-Remoting
- not:
hasLabel:
label: Area-Rendering
- not:
hasLabel:
label: Area-Schema
- not:
hasLabel:
label: Area-Server
- not:
hasLabel:
label: Area-Settings
- not:
hasLabel:
label: Area-SettingsUI
- not:
hasLabel:
label: Area-ShellExtension
- not:
hasLabel:
label: Area-Suggestions
- not:
hasLabel:
label: Area-TerminalConnection
- not:
hasLabel:
label: Area-TerminalControl
- not:
hasLabel:
label: Area-Theming
- not:
hasLabel:
label: Area-UserInterface
- not:
hasLabel:
label: Area-VT
- not:
hasLabel:
label: Area-Windowing
- not:
hasLabel:
label: Area-WPFControl
- or: - or:
- hasLabel: - hasLabel:
label: Issue-Bug label: Issue-Bug
@@ -609,14 +533,14 @@ configuration:
then: then:
- removeLabel: - removeLabel:
label: Needs-Tag-Fix label: Needs-Tag-Fix
- description: Add "In-PR" label to issues that are referenced in a PR description:
if: - if:
- payloadType: Pull_Request - payloadType: Pull_Request
then: then:
- inPrLabel: - inPrLabel:
label: In-PR label: In-PR
- description: Remove "Needs-Tag-Fix" label when an issue also has the "Resolution-Duplicate" label description:
if: - if:
- payloadType: Issues - payloadType: Issues
- hasLabel: - hasLabel:
label: Needs-Tag-Fix label: Needs-Tag-Fix
@@ -625,8 +549,8 @@ configuration:
then: then:
- removeLabel: - removeLabel:
label: Needs-Tag-Fix label: Needs-Tag-Fix
- description: Close issues that are opened and have the template title description:
if: - if:
- payloadType: Issues - payloadType: Issues
- or: - or:
- titleContains: - titleContains:
@@ -652,8 +576,8 @@ configuration:
label: Needs-Author-Feedback label: Needs-Author-Feedback
- addReply: - addReply:
reply: Hi! Thanks for attempting to open an issue. Unfortunately, your title wasn't changed from the original template which makes it very hard for us to track and triage. You are welcome to fix up the title and try again with a new issue. reply: Hi! Thanks for attempting to open an issue. Unfortunately, your title wasn't changed from the original template which makes it very hard for us to track and triage. You are welcome to fix up the title and try again with a new issue.
- description: Close issues that are opened and have no body description:
if: - if:
- payloadType: Issues - payloadType: Issues
- or: - or:
- isAction: - isAction:
@@ -671,8 +595,8 @@ configuration:
label: Needs-Author-Feedback label: Needs-Author-Feedback
- addReply: - addReply:
reply: "Hi! Thanks for attempting to open an issue. Unfortunately, you didn't write anything in the body which makes it impossible to understand your concern. You are welcome to fix up the issue and try again by opening another issue with the body filled out. " reply: "Hi! Thanks for attempting to open an issue. Unfortunately, you didn't write anything in the body which makes it impossible to understand your concern. You are welcome to fix up the issue and try again by opening another issue with the body filled out. "
- description: Request a review from the team when a PR is labeled "Needs-Second" description:
if: - if:
- payloadType: Pull_Request - payloadType: Pull_Request
- isLabeled - isLabeled
- hasLabel: - hasLabel:
@@ -689,8 +613,8 @@ configuration:
reviewer: dhowett reviewer: dhowett
- requestReview: - requestReview:
reviewer: lhecker reviewer: lhecker
- description: Remove "Needs-Second" label when a PR is reviewed description:
if: - if:
- payloadType: Pull_Request_Review - payloadType: Pull_Request_Review
- not: isOpen - not: isOpen
- hasLabel: - hasLabel:
@@ -698,8 +622,8 @@ configuration:
then: then:
- removeLabel: - removeLabel:
label: Needs-Second label: Needs-Second
- description: Remove "Help-Wanted" label from issues that are in a PR description:
if: - if:
- payloadType: Issues - payloadType: Issues
- hasLabel: - hasLabel:
label: In-PR label: In-PR
@@ -709,8 +633,8 @@ configuration:
then: then:
- removeLabel: - removeLabel:
label: Help-Wanted label: Help-Wanted
- description: Comments with "/dup", "/dupe", or "/duplicate" will close the issue as a duplicate and remove "Needs-" labels description:
if: - if:
- payloadType: Issue_Comment - payloadType: Issue_Comment
- commentContains: - commentContains:
pattern: '\/dup(licate|e)?(\s+of)?\s+\#[\d]+' pattern: '\/dup(licate|e)?(\s+of)?\s+\#[\d]+'
@@ -738,8 +662,8 @@ configuration:
label: Needs-Repro label: Needs-Repro
- removeLabel: - removeLabel:
label: Needs-Second label: Needs-Second
- description: Comments with "/feedback" will direct people to Feedback Hub description:
if: - if:
- payloadType: Issue_Comment - payloadType: Issue_Comment
- commentContains: - commentContains:
pattern: '\/feedback' pattern: '\/feedback'
@@ -756,13 +680,13 @@ configuration:
Hi there!<br><br>Can you please send us feedback with the [Feedback Hub](https://support.microsoft.com/en-us/windows/send-feedback-to-microsoft-with-the-feedback-hub-app-f59187f8-8739-22d6-ba93-f66612949332) with this issue? Make sure to click the "Start recording" button, then reproduce the issue before submitting the feedback. Once it's submitted, paste the link here so we can more easily find your crash information on the back end?<br><br>Thanks!<br><br>![image](https://user-images.githubusercontent.com/18356694/140811502-a068f78b-89d2-4587-925a-73e19652b830.png)<br><br>![image](https://user-images.githubusercontent.com/18356694/140811557-cdc22a0f-fa6a-4f6a-953e-73b51f5548a3.png)<br><br>![image](https://user-images.githubusercontent.com/18221333/62478649-6de55400-b760-11e9-806e-5aab7e085a9f.png) Hi there!<br><br>Can you please send us feedback with the [Feedback Hub](https://support.microsoft.com/en-us/windows/send-feedback-to-microsoft-with-the-feedback-hub-app-f59187f8-8739-22d6-ba93-f66612949332) with this issue? Make sure to click the "Start recording" button, then reproduce the issue before submitting the feedback. Once it's submitted, paste the link here so we can more easily find your crash information on the back end?<br><br>Thanks!<br><br>![image](https://user-images.githubusercontent.com/18356694/140811502-a068f78b-89d2-4587-925a-73e19652b830.png)<br><br>![image](https://user-images.githubusercontent.com/18356694/140811557-cdc22a0f-fa6a-4f6a-953e-73b51f5548a3.png)<br><br>![image](https://user-images.githubusercontent.com/18221333/62478649-6de55400-b760-11e9-806e-5aab7e085a9f.png)
- addLabel: - addLabel:
label: Needs-Author-Feedback label: Needs-Author-Feedback
- description: Comments clean the email reply description:
if: - if:
- payloadType: Issue_Comment - payloadType: Issue_Comment
then: then:
- cleanEmailReply - cleanEmailReply
- description: Sync labels when a PR event occurs description:
if: - if:
- payloadType: Pull_Request - payloadType: Pull_Request
then: then:
- labelSync: - labelSync:
@@ -777,8 +701,8 @@ configuration:
pattern: Severity- pattern: Severity-
- labelSync: - labelSync:
pattern: Impact- pattern: Impact-
- description: Comments with "/dup", "/dupe", or "/duplicate" targeting another repo will close the issue as a duplicate and remove "Needs-" labels description:
if: - if:
- payloadType: Issue_Comment - payloadType: Issue_Comment
- commentContains: - commentContains:
pattern: '\/dup(licate|e)?(\s+of)?\s+https' pattern: '\/dup(licate|e)?(\s+of)?\s+https'
@@ -806,8 +730,8 @@ configuration:
label: Needs-Repro label: Needs-Repro
- removeLabel: - removeLabel:
label: Needs-Second label: Needs-Second
- description: Comments with "/?" will replace the "Needs-Attention" label with "Needs-Author-Feedback" description:
if: - if:
- payloadType: Issue_Comment - payloadType: Issue_Comment
- commentContains: - commentContains:
pattern: /? pattern: /?
@@ -822,5 +746,6 @@ configuration:
label: Needs-Attention label: Needs-Attention
- addLabel: - addLabel:
label: Needs-Author-Feedback label: Needs-Author-Feedback
description:
onFailure: onFailure:
onSuccess: onSuccess:

View File

@@ -34,14 +34,14 @@ name: Spell checking
# #
# For background, see: https://github.com/check-spelling/check-spelling/wiki/Feature:-Update-with-deploy-key # For background, see: https://github.com/check-spelling/check-spelling/wiki/Feature:-Update-with-deploy-key
# SARIF reporting # Sarif reporting
# #
# Access to SARIF reports is generally restricted (by GitHub) to members of the repository. # Access to Sarif reports is generally restricted (by GitHub) to members of the repository.
# #
# Requires enabling `security-events: write` # Requires enabling `security-events: write`
# and configuring the action with `use_sarif: 1` # and configuring the action with `use_sarif: 1`
# #
# For information on the feature, see: https://github.com/check-spelling/check-spelling/wiki/Feature:-SARIF-output # For information on the feature, see: https://github.com/check-spelling/check-spelling/wiki/Feature:-Sarif-output
# Minimal workflow structure: # Minimal workflow structure:
# #
@@ -60,23 +60,23 @@ name: Spell checking
on: on:
push: push:
branches: branches:
- "**" - "**"
tags-ignore: tags-ignore:
- "**" - "**"
pull_request_target: pull_request_target:
branches: branches:
- "**" - "**"
types: types:
- "opened" - 'opened'
- "reopened" - 'reopened'
- "synchronize" - 'synchronize'
issue_comment: issue_comment:
types: types:
- "created" - 'created'
jobs: jobs:
spelling: spelling:
name: Check Spelling name: Spell checking
permissions: permissions:
contents: read contents: read
pull-requests: read pull-requests: read
@@ -91,56 +91,52 @@ jobs:
# note: If you use only_check_changed_files, you do not want cancel-in-progress # note: If you use only_check_changed_files, you do not want cancel-in-progress
cancel-in-progress: true cancel-in-progress: true
steps: steps:
- name: check-spelling - name: check-spelling
id: spelling id: spelling
uses: check-spelling/check-spelling@v0.0.25 uses: check-spelling/check-spelling@v0.0.22
with: with:
suppress_push_for_open_pull_request: ${{ github.actor != 'dependabot[bot]' && 1 }} suppress_push_for_open_pull_request: ${{ github.actor != 'dependabot[bot]' && 1 }}
checkout: true checkout: true
check_file_names: 1 check_file_names: 1
spell_check_this: microsoft/terminal@main spell_check_this: microsoft/terminal@main
post_comment: 0 post_comment: 0
use_magic_file: 1 use_magic_file: 1
report-timing: 1 report-timing: 1
warnings: bad-regex,binary-file,deprecated-feature,ignored-expect-variant,large-file,limited-references,no-newline-at-eof,noisy-file,non-alpha-in-dictionary,token-is-substring,unexpected-line-ending,whitespace-in-dictionary,minified-file,unsupported-configuration,no-files-to-check,unclosed-block-ignore-begin,unclosed-block-ignore-end warnings: bad-regex,binary-file,deprecated-feature,ignored-expect-variant,large-file,limited-references,no-newline-at-eof,noisy-file,non-alpha-in-dictionary,token-is-substring,unexpected-line-ending,whitespace-in-dictionary,minified-file,unsupported-configuration,no-files-to-check
experimental_apply_changes_via_bot: ${{ github.repository_owner != 'microsoft' && 1 }} experimental_apply_changes_via_bot: ${{ github.repository_owner != 'microsoft' && 1 }}
use_sarif: 1 use_sarif: ${{ (!github.event.pull_request || (github.event.pull_request.head.repo.full_name == github.repository)) && 1 }}
check_extra_dictionaries: "" extra_dictionary_limit: 20
dictionary_source_prefixes: > extra_dictionaries:
{ cspell:software-terms/dict/softwareTerms.txt
"cspell": "https://raw.githubusercontent.com/check-spelling/cspell-dicts/v20241114/dictionaries/" cspell:cpp/src/stdlib-cpp.txt
} cspell:lorem-ipsum/dictionary.txt
extra_dictionaries: | cspell:cpp/src/stdlib-c.txt
cspell:software-terms/softwareTerms.txt cspell:php/dict/php.txt
cspell:cpp/stdlib-cpp.txt cspell:filetypes/filetypes.txt
cspell:cpp/stdlib-c.txt cspell:java/src/java.txt
cspell:python/python/python-lib.txt cspell:python/src/common/extra.txt
cspell:php/php.txt cspell:node/dict/node.txt
cspell:node/node.txt cspell:java/src/java-terms.txt
cspell:dart/dart.txt cspell:aws/aws.txt
cspell:filetypes/filetypes.txt cspell:typescript/dict/typescript.txt
cspell:java/java.txt cspell:dotnet/dict/dotnet.txt
cspell:css/css.txt cspell:golang/dict/go.txt
cspell:dotnet/dotnet.txt cspell:fullstack/dict/fullstack.txt
cspell:npm/npm.txt cspell:cpp/src/compiler-msvc.txt
cspell:fullstack/fullstack.txt cspell:python/src/python/python-lib.txt
cspell:java/java-terms.txt cspell:mnemonics/src/mnemonics.txt
cspell:r/r.txt cspell:cpp/src/stdlib-cmath.txt
cspell:golang/go.txt cspell:css/dict/css.txt
cspell:cpp/stdlib-cmath.txt cspell:cpp/src/lang-keywords.txt
cspell:typescript/typescript.txt cspell:django/dict/django.txt
cspell:html/html.txt cspell:python/src/python/python.txt
cspell:cpp/compiler-msvc.txt cspell:html/dict/html.txt
cspell:django/django.txt cspell:cpp/src/ecosystem.txt
cspell:aws/aws.txt cspell:cpp/src/compiler-clang-attributes.txt
cspell:python/common/extra.txt cspell:npm/dict/npm.txt
cspell:cpp/ecosystem.txt cspell:r/src/r.txt
cspell:cpp/lang-keywords.txt cspell:powershell/dict/powershell.txt
cspell:csharp/csharp.txt cspell:csharp/csharp.txt
cspell:cpp/compiler-clang-attributes.txt
cspell:python/python/python.txt
cspell:mnemonics/mnemonics.txt
cspell:powershell/powershell.txt
comment-push: comment-push:
name: Report (Push) name: Report (Push)
@@ -148,16 +144,15 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: spelling needs: spelling
permissions: permissions:
actions: read
contents: write contents: write
if: (success() || failure()) && needs.spelling.outputs.followup && github.event_name == 'push' if: (success() || failure()) && needs.spelling.outputs.followup && github.event_name == 'push'
steps: steps:
- name: comment - name: comment
uses: check-spelling/check-spelling@v0.0.25 uses: check-spelling/check-spelling@v0.0.22
with: with:
checkout: true checkout: true
spell_check_this: microsoft/terminal@main spell_check_this: microsoft/terminal@main
task: ${{ needs.spelling.outputs.followup }} task: ${{ needs.spelling.outputs.followup }}
comment-pr: comment-pr:
name: Report (PR) name: Report (PR)
@@ -165,18 +160,17 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
needs: spelling needs: spelling
permissions: permissions:
actions: read
contents: read contents: read
pull-requests: write pull-requests: write
if: (success() || failure()) && needs.spelling.outputs.followup && contains(github.event_name, 'pull_request') if: (success() || failure()) && needs.spelling.outputs.followup && contains(github.event_name, 'pull_request')
steps: steps:
- name: comment - name: comment
uses: check-spelling/check-spelling@v0.0.25 uses: check-spelling/check-spelling@v0.0.22
with: with:
checkout: true checkout: true
spell_check_this: microsoft/terminal@main spell_check_this: microsoft/terminal@main
task: ${{ needs.spelling.outputs.followup }} task: ${{ needs.spelling.outputs.followup }}
experimental_apply_changes_via_bot: ${{ github.repository_owner != 'microsoft' && 1 }} experimental_apply_changes_via_bot: ${{ github.repository_owner != 'microsoft' && 1 }}
update: update:
name: Update PR name: Update PR
@@ -186,19 +180,18 @@ jobs:
actions: read actions: read
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: ${{ if: ${{
github.repository_owner != 'microsoft' && github.repository_owner != 'microsoft' &&
github.event_name == 'issue_comment' && github.event_name == 'issue_comment' &&
github.event.issue.pull_request && github.event.issue.pull_request &&
contains(github.event.comment.body, '@check-spelling-bot apply') && contains(github.event.comment.body, '@check-spelling-bot apply')
contains(github.event.comment.body, 'https://')
}} }}
concurrency: concurrency:
group: spelling-update-${{ github.event.issue.number }} group: spelling-update-${{ github.event.issue.number }}
cancel-in-progress: false cancel-in-progress: false
steps: steps:
- name: apply spelling updates - name: apply spelling updates
uses: check-spelling/check-spelling@v0.0.25 uses: check-spelling/check-spelling@v0.0.22
with: with:
experimental_apply_changes_via_bot: ${{ github.repository_owner != 'microsoft' && 1 }} experimental_apply_changes_via_bot: ${{ github.repository_owner != 'microsoft' && 1 }}
checkout: true checkout: true
ssh_key: "${{ secrets.CHECK_SPELLING }}" ssh_key: "${{ secrets.CHECK_SPELLING }}"

View File

@@ -1,4 +1,4 @@
name: Publish to WinGet name: Publish to Winget
on: on:
release: release:
@@ -6,9 +6,6 @@ on:
env: env:
REGEX: 'Microsoft\.WindowsTerminal(?:Preview)?_([\d.]+)_8wekyb3d8bbwe\.msixbundle$' REGEX: 'Microsoft\.WindowsTerminal(?:Preview)?_([\d.]+)_8wekyb3d8bbwe\.msixbundle$'
# winget-create will read the following environment variable to access the GitHub token needed for submitting a PR
# See https://aka.ms/winget-create-token
WINGET_CREATE_GITHUB_TOKEN: ${{ secrets.WINGET_TOKEN }}
jobs: jobs:
publish: publish:
@@ -24,4 +21,4 @@ jobs:
$wingetPackage = "Microsoft.WindowsTerminal${{ github.event.release.prerelease && '.Preview' || '' }}" $wingetPackage = "Microsoft.WindowsTerminal${{ github.event.release.prerelease && '.Preview' || '' }}"
& curl.exe -JLO https://aka.ms/wingetcreate/latest & curl.exe -JLO https://aka.ms/wingetcreate/latest
& .\wingetcreate.exe update $wingetPackage -s -v $version -u $wingetRelevantAsset.browser_download_url & .\wingetcreate.exe update $wingetPackage -s -v $version -u $wingetRelevantAsset.browser_download_url -t "${{ secrets.WINGET_TOKEN }}"

View File

@@ -17,6 +17,7 @@
"Microsoft.VisualStudio.Component.AppInsights.Tools", "Microsoft.VisualStudio.Component.AppInsights.Tools",
"Microsoft.Net.Component.4.8.TargetingPack", "Microsoft.Net.Component.4.8.TargetingPack",
"Microsoft.VisualStudio.Component.DiagnosticTools", "Microsoft.VisualStudio.Component.DiagnosticTools",
"Microsoft.NetCore.Component.Runtime.6.0",
"Microsoft.VisualStudio.Component.ClassDesigner", "Microsoft.VisualStudio.Component.ClassDesigner",
"Microsoft.VisualStudio.Component.GraphDocument", "Microsoft.VisualStudio.Component.GraphDocument",
"Microsoft.VisualStudio.Component.CodeMap", "Microsoft.VisualStudio.Component.CodeMap",

View File

@@ -158,7 +158,7 @@ Once you've discussed your proposed feature/fix/etc. with a team member, and you
### Testing ### Testing
Testing is a key component in the development workflow. Both Windows Terminal and Windows Console use TAEF (the Test Authoring and Execution Framework) as the main framework for testing. Testing is a key component in the development workflow. Both Windows Terminal and Windows Console use TAEF(the Test Authoring and Execution Framework) as the main framework for testing.
If your changes affect existing test cases, or you're working on brand new features and also the accompanying test cases, see [TAEF](./doc/TAEF.md) for more information about how to validate your work locally. If your changes affect existing test cases, or you're working on brand new features and also the accompanying test cases, see [TAEF](./doc/TAEF.md) for more information about how to validate your work locally.

View File

@@ -285,8 +285,6 @@ specific language governing permissions and limitations under the License.
**Source**: [https://github.com/commonmark/cmark](https://github.com/commonmark/cmark) **Source**: [https://github.com/commonmark/cmark](https://github.com/commonmark/cmark)
### License ### License
```
Copyright (c) 2014, John MacFarlane Copyright (c) 2014, John MacFarlane
All rights reserved. All rights reserved.
@@ -457,36 +455,6 @@ DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
```
## fzf
### License
```
The MIT License (MIT)
Copyright (c) 2013-2024 Junegunn Choi
Copyright (c) 2021-2025 Simon Hauser
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
```
# Microsoft Open Source # Microsoft Open Source

View File

@@ -4,7 +4,7 @@
<clear /> <clear />
<!-- Dependencies that we can turn on to force override for testing purposes before uploading. --> <!-- Dependencies that we can turn on to force override for testing purposes before uploading. -->
<!--<add key="Static Package Dependencies" value="dep\packages" />--> <!--<add key="Static Package Dependencies" value="dep\packages" />-->
<add key="TerminalDependencies" value="https://pkgs.dev.azure.com/shine-oss/terminal/_packaging/TerminalDependencies%40Local/nuget/v3/index.json" /> <add key="TerminalDependencies" value="https://pkgs.dev.azure.com/shine-oss/terminal/_packaging/TerminalDependencies/nuget/v3/index.json" />
</packageSources> </packageSources>
<disabledPackageSources> <disabledPackageSources>
<clear /> <clear />

2490
OpenConsole.sln Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -4,42 +4,6 @@
# Welcome to the Windows Terminal, Console and Command-Line repo # Welcome to the Windows Terminal, Console and Command-Line repo
<details>
<summary><strong>Table of Contents</strong></summary>
- [Installing and running Windows Terminal](#installing-and-running-windows-terminal)
- [Microsoft Store \[Recommended\]](#microsoft-store-recommended)
- [Other install methods](#other-install-methods)
- [Via GitHub](#via-github)
- [Via Windows Package Manager CLI (aka winget)](#via-windows-package-manager-cli-aka-winget)
- [Via Chocolatey (unofficial)](#via-chocolatey-unofficial)
- [Via Scoop (unofficial)](#via-scoop-unofficial)
- [Installing Windows Terminal Canary](#installing-windows-terminal-canary)
- [Windows Terminal Roadmap](#windows-terminal-roadmap)
- [Terminal \& Console Overview](#terminal--console-overview)
- [Windows Terminal](#windows-terminal)
- [The Windows Console Host](#the-windows-console-host)
- [Shared Components](#shared-components)
- [Creating the new Windows Terminal](#creating-the-new-windows-terminal)
- [Resources](#resources)
- [FAQ](#faq)
- [I built and ran the new Terminal, but it looks just like the old console](#i-built-and-ran-the-new-terminal-but-it-looks-just-like-the-old-console)
- [Documentation](#documentation)
- [Contributing](#contributing)
- [Communicating with the Team](#communicating-with-the-team)
- [Developer Guidance](#developer-guidance)
- [Prerequisites](#prerequisites)
- [Building the Code](#building-the-code)
- [Building in PowerShell](#building-in-powershell)
- [Building in Cmd](#building-in-cmd)
- [Running \& Debugging](#running--debugging)
- [Coding Guidance](#coding-guidance)
- [Code of Conduct](#code-of-conduct)
</details>
<br />
This repository contains the source code for: This repository contains the source code for:
* [Windows Terminal](https://aka.ms/terminal) * [Windows Terminal](https://aka.ms/terminal)
@@ -169,10 +133,10 @@ The Portable ZIP distribution is a portable application. It will not automatical
| Distribution | Architecture | Link | | Distribution | Architecture | Link |
|---------------|:---------------:|------------------------------------------------------| |---------------|:---------------:|------------------------------------------------------|
| App Installer | x64, arm64, x86 | [Download](https://aka.ms/terminal-canary-installer) | | App Installer | x64, arm64, x86 | [download](https://aka.ms/terminal-canary-installer) |
| Portable ZIP | x64 | [Download](https://aka.ms/terminal-canary-zip-x64) | | Portable ZIP | x64 | [download](https://aka.ms/terminal-canary-zip-x64) |
| Portable ZIP | ARM64 | [Download](https://aka.ms/terminal-canary-zip-arm64) | | Portable ZIP | ARM64 | [download](https://aka.ms/terminal-canary-zip-arm64) |
| Portable ZIP | x86 | [Download](https://aka.ms/terminal-canary-zip-x86) | | Portable ZIP | x86 | [download](https://aka.ms/terminal-canary-zip-x86) |
_Learn more about the [types of Windows Terminal distributions](https://learn.microsoft.com/windows/terminal/distributions)._ _Learn more about the [types of Windows Terminal distributions](https://learn.microsoft.com/windows/terminal/distributions)._
@@ -340,19 +304,6 @@ If you would like to ask a question that you feel doesn't warrant an issue
## Prerequisites ## Prerequisites
You can configure your environment to build Terminal in one of two ways:
### Using WinGet configuration file
After cloning the repository, you can use a [WinGet configuration file](https://learn.microsoft.com/en-us/windows/package-manager/configuration/#use-a-winget-configuration-file-to-configure-your-machine)
to set up your environment. The [default configuration file](.config/configuration.winget) installs Visual Studio 2022 Community & rest of the required tools. There are two other variants of the configuration file available in the [.config](.config) directory for Enterprise & Professional editions of Visual Studio 2022. To run the default configuration file, you can either double-click the file from explorer or run the following command:
```powershell
winget configure .config\configuration.winget
```
### Manual configuration
* You must be running Windows 10 2004 (build >= 10.0.19041.0) or later to run * You must be running Windows 10 2004 (build >= 10.0.19041.0) or later to run
Windows Terminal Windows Terminal
* You must [enable Developer Mode in the Windows Settings * You must [enable Developer Mode in the Windows Settings
@@ -375,7 +326,16 @@ winget configure .config\configuration.winget
## Building the Code ## Building the Code
OpenConsole.slnx may be built from within Visual Studio or from the command-line This repository uses [git
submodules](https://git-scm.com/book/en/v2/Git-Tools-Submodules) for some of its
dependencies. To make sure submodules are restored or updated, be sure to run
the following prior to building:
```shell
git submodule update --init --recursive
```
OpenConsole.sln may be built from within Visual Studio or from the command-line
using a set of convenience scripts & tools in the **/tools** directory: using a set of convenience scripts & tools in the **/tools** directory:
### Building in PowerShell ### Building in PowerShell

View File

@@ -28,7 +28,7 @@ namespace HelixTestHelpers
public List<string> Screenshots { get; private set; } public List<string> Screenshots { get; private set; }
public List<TestResult> RerunResults { get; private set; } public List<TestResult> RerunResults { get; private set; }
} }
// //
// Azure DevOps doesn't currently provide a way to directly report sub-results for tests that failed at least once // Azure DevOps doesn't currently provide a way to directly report sub-results for tests that failed at least once
// that were run multiple times. To get around that limitation, we'll mark the test as "Skip" since // that were run multiple times. To get around that limitation, we'll mark the test as "Skip" since
@@ -49,46 +49,46 @@ namespace HelixTestHelpers
// TODO (https://github.com/dotnet/arcade/issues/2773): Once we're able to directly report things in a // TODO (https://github.com/dotnet/arcade/issues/2773): Once we're able to directly report things in a
// more granular fashion than just a binary pass/fail result, we should do that. // more granular fashion than just a binary pass/fail result, we should do that.
// //
[DataContract] [DataContract]
internal class JsonSerializableTestResults internal class JsonSerializableTestResults
{ {
[DataMember] [DataMember]
internal string blobPrefix; internal string blobPrefix;
[DataMember] [DataMember]
internal string blobSuffix; internal string blobSuffix;
[DataMember] [DataMember]
internal string[] errors; internal string[] errors;
[DataMember] [DataMember]
internal JsonSerializableTestResult[] results; internal JsonSerializableTestResult[] results;
} }
[DataContract] [DataContract]
internal class JsonSerializableTestResult internal class JsonSerializableTestResult
{ {
[DataMember] [DataMember]
internal string outcome; internal string outcome;
[DataMember] [DataMember]
internal int duration; internal int duration;
[DataMember(EmitDefaultValue = false)] [DataMember(EmitDefaultValue = false)]
internal string log; internal string log;
[DataMember(EmitDefaultValue = false)] [DataMember(EmitDefaultValue = false)]
internal string[] screenshots; internal string[] screenshots;
[DataMember(EmitDefaultValue = false)] [DataMember(EmitDefaultValue = false)]
internal int errorIndex; internal int errorIndex;
} }
public class TestPass public class TestPass
{ {
public TimeSpan TestPassExecutionTime { get; set; } public TimeSpan TestPassExecutionTime { get; set; }
public List<TestResult> TestResults { get; set; } public List<TestResult> TestResults { get; set; }
public static TestPass ParseTestWttFile(string fileName, bool cleanupFailuresAreRegressions, bool truncateTestNames) public static TestPass ParseTestWttFile(string fileName, bool cleanupFailuresAreRegressions, bool truncateTestNames)
{ {
using (var stream = File.OpenRead(fileName)) using (var stream = File.OpenRead(fileName))
@@ -174,7 +174,7 @@ namespace HelixTestHelpers
if (testsExecuting == 1) if (testsExecuting == 1)
{ {
string testName = element.Attribute("Title").Value; string testName = element.Attribute("Title").Value;
if (truncateTestNames) if (truncateTestNames)
{ {
const string xamlNativePrefix = "Windows::UI::Xaml::Tests::"; const string xamlNativePrefix = "Windows::UI::Xaml::Tests::";
@@ -243,7 +243,7 @@ namespace HelixTestHelpers
// The test cleanup errors will often come after the test claimed to have // The test cleanup errors will often come after the test claimed to have
// 'passed'. We treat them as errors as well. // 'passed'. We treat them as errors as well.
if (inTestCleanup) if (inTestCleanup)
{ {
currentResult.CleanupPassed = false; currentResult.CleanupPassed = false;
@@ -292,7 +292,7 @@ namespace HelixTestHelpers
foreach(var screenshot in screenshots) foreach(var screenshot in screenshots)
{ {
string fileNameSuffix = string.Empty; string fileNameSuffix = string.Empty;
if (fileName.Contains("_rerun_multiple")) if (fileName.Contains("_rerun_multiple"))
{ {
fileNameSuffix = "_rerun_multiple"; fileNameSuffix = "_rerun_multiple";
@@ -301,7 +301,7 @@ namespace HelixTestHelpers
{ {
fileNameSuffix = "_rerun"; fileNameSuffix = "_rerun";
} }
currentResult.Screenshots.Add(screenshot.Replace(".jpg", fileNameSuffix + ".jpg")); currentResult.Screenshots.Add(screenshot.Replace(".jpg", fileNameSuffix + ".jpg"));
} }
} }
@@ -313,7 +313,7 @@ namespace HelixTestHelpers
testPassStopTime = Int64.Parse(doc.Root.Descendants("WexTraceInfo").Last().Attribute("TimeStamp").Value); testPassStopTime = Int64.Parse(doc.Root.Descendants("WexTraceInfo").Last().Attribute("TimeStamp").Value);
var testPassTime = TimeSpan.FromSeconds((double)(testPassStopTime - testPassStartTime) / frequency); var testPassTime = TimeSpan.FromSeconds((double)(testPassStopTime - testPassStartTime) / frequency);
foreach (TestResult testResult in testResults) foreach (TestResult testResult in testResults)
{ {
if (testResult.Details != null) if (testResult.Details != null)
@@ -331,13 +331,13 @@ namespace HelixTestHelpers
return testpass; return testpass;
} }
} }
public static TestPass ParseTestWttFileWithReruns(string fileName, string singleRerunFileName, string multipleRerunFileName, bool cleanupFailuresAreRegressions, bool truncateTestNames) public static TestPass ParseTestWttFileWithReruns(string fileName, string singleRerunFileName, string multipleRerunFileName, bool cleanupFailuresAreRegressions, bool truncateTestNames)
{ {
TestPass testPass = ParseTestWttFile(fileName, cleanupFailuresAreRegressions, truncateTestNames); TestPass testPass = ParseTestWttFile(fileName, cleanupFailuresAreRegressions, truncateTestNames);
TestPass singleRerunTestPass = File.Exists(singleRerunFileName) ? ParseTestWttFile(singleRerunFileName, cleanupFailuresAreRegressions, truncateTestNames) : null; TestPass singleRerunTestPass = File.Exists(singleRerunFileName) ? ParseTestWttFile(singleRerunFileName, cleanupFailuresAreRegressions, truncateTestNames) : null;
TestPass multipleRerunTestPass = File.Exists(multipleRerunFileName) ? ParseTestWttFile(multipleRerunFileName, cleanupFailuresAreRegressions, truncateTestNames) : null; TestPass multipleRerunTestPass = File.Exists(multipleRerunFileName) ? ParseTestWttFile(multipleRerunFileName, cleanupFailuresAreRegressions, truncateTestNames) : null;
List<TestResult> rerunTestResults = new List<TestResult>(); List<TestResult> rerunTestResults = new List<TestResult>();
if (singleRerunTestPass != null) if (singleRerunTestPass != null)
@@ -377,9 +377,9 @@ namespace HelixTestHelpers
public static void OutputFailedTestQuery(string wttInputPath) public static void OutputFailedTestQuery(string wttInputPath)
{ {
var testPass = TestPass.ParseTestWttFile(wttInputPath, cleanupFailuresAreRegressions: true, truncateTestNames: false); var testPass = TestPass.ParseTestWttFile(wttInputPath, cleanupFailuresAreRegressions: true, truncateTestNames: false);
List<string> failedTestNames = new List<string>(); List<string> failedTestNames = new List<string>();
foreach (var result in testPass.TestResults) foreach (var result in testPass.TestResults)
{ {
if (!result.Passed) if (!result.Passed)
@@ -387,23 +387,23 @@ namespace HelixTestHelpers
failedTestNames.Add(result.Name); failedTestNames.Add(result.Name);
} }
} }
if (failedTestNames.Count > 0) if (failedTestNames.Count > 0)
{ {
string failedTestSelectQuery = "(@Name='"; string failedTestSelectQuery = "(@Name='";
for (int i = 0; i < failedTestNames.Count; i++) for (int i = 0; i < failedTestNames.Count; i++)
{ {
failedTestSelectQuery += failedTestNames[i]; failedTestSelectQuery += failedTestNames[i];
if (i < failedTestNames.Count - 1) if (i < failedTestNames.Count - 1)
{ {
failedTestSelectQuery += "' or @Name='"; failedTestSelectQuery += "' or @Name='";
} }
} }
failedTestSelectQuery += "')"; failedTestSelectQuery += "')";
Console.WriteLine(failedTestSelectQuery); Console.WriteLine(failedTestSelectQuery);
} }
else else
@@ -418,7 +418,7 @@ namespace HelixTestHelpers
private string testNamePrefix; private string testNamePrefix;
private string helixResultsContainerUri; private string helixResultsContainerUri;
private string helixResultsContainerRsas; private string helixResultsContainerRsas;
public TestResultParser(string testNamePrefix, string helixResultsContainerUri, string helixResultsContainerRsas) public TestResultParser(string testNamePrefix, string helixResultsContainerUri, string helixResultsContainerRsas)
{ {
this.testNamePrefix = testNamePrefix; this.testNamePrefix = testNamePrefix;
@@ -430,7 +430,7 @@ namespace HelixTestHelpers
{ {
Dictionary<string, string> subResultsJsonByMethod = new Dictionary<string, string>(); Dictionary<string, string> subResultsJsonByMethod = new Dictionary<string, string>();
TestPass testPass = TestPass.ParseTestWttFileWithReruns(wttInputPath, wttSingleRerunInputPath, wttMultipleRerunInputPath, cleanupFailuresAreRegressions: true, truncateTestNames: false); TestPass testPass = TestPass.ParseTestWttFileWithReruns(wttInputPath, wttSingleRerunInputPath, wttMultipleRerunInputPath, cleanupFailuresAreRegressions: true, truncateTestNames: false);
foreach (var result in testPass.TestResults) foreach (var result in testPass.TestResults)
{ {
var methodName = result.Name.Substring(result.Name.LastIndexOf('.') + 1); var methodName = result.Name.Substring(result.Name.LastIndexOf('.') + 1);
@@ -488,7 +488,7 @@ namespace HelixTestHelpers
int resultCount = results.Count; int resultCount = results.Count;
int passedCount = results.Where(r => r.Passed).Count(); int passedCount = results.Where(r => r.Passed).Count();
// Since we re-run tests on failure, we'll mark every test that failed at least once as "skipped" rather than "failed". // Since we re-run tests on failure, we'll mark every test that failed at least once as "skipped" rather than "failed".
// If the test failed sufficiently often enough for it to count as a failed test (determined by a property on the // If the test failed sufficiently often enough for it to count as a failed test (determined by a property on the
// Azure DevOps job), we'll later mark it as failed during test results processing. // Azure DevOps job), we'll later mark it as failed during test results processing.
@@ -504,15 +504,15 @@ namespace HelixTestHelpers
assembly.SetAttributeValue("run-date", DateTime.Now.ToString("yyyy-MM-dd")); assembly.SetAttributeValue("run-date", DateTime.Now.ToString("yyyy-MM-dd"));
// This doesn't need to be completely accurate since it's not exposed anywhere. // This doesn't need to be completely accurate since it's not exposed anywhere.
// If we need an accurate start time we can probably calculate it from the te.wtl file, but for // If we need accurate an start time we can probably calculate it from the te.wtl file, but for
// now this is fine. // now this is fine.
assembly.SetAttributeValue("run-time", (DateTime.Now - testPass.TestPassExecutionTime).ToString("hh:mm:ss")); assembly.SetAttributeValue("run-time", (DateTime.Now - testPass.TestPassExecutionTime).ToString("hh:mm:ss"));
assembly.SetAttributeValue("total", resultCount); assembly.SetAttributeValue("total", resultCount);
assembly.SetAttributeValue("passed", passedCount); assembly.SetAttributeValue("passed", passedCount);
assembly.SetAttributeValue("failed", failedCount); assembly.SetAttributeValue("failed", failedCount);
assembly.SetAttributeValue("skipped", skippedCount); assembly.SetAttributeValue("skipped", skippedCount);
assembly.SetAttributeValue("time", (int)testPass.TestPassExecutionTime.TotalSeconds); assembly.SetAttributeValue("time", (int)testPass.TestPassExecutionTime.TotalSeconds);
assembly.SetAttributeValue("errors", 0); assembly.SetAttributeValue("errors", 0);
root.Add(assembly); root.Add(assembly);
@@ -537,9 +537,9 @@ namespace HelixTestHelpers
test.SetAttributeValue("method", methodName); test.SetAttributeValue("method", methodName);
test.SetAttributeValue("time", result.ExecutionTime.TotalSeconds); test.SetAttributeValue("time", result.ExecutionTime.TotalSeconds);
string resultString = string.Empty; string resultString = string.Empty;
if (result.Passed && !result.Skipped) if (result.Passed && !result.Skipped)
{ {
resultString = "Pass"; resultString = "Pass";
@@ -554,7 +554,7 @@ namespace HelixTestHelpers
resultString = "Fail"; resultString = "Fail";
} }
if (!result.Passed) if (!result.Passed)
{ {
if (result.Skipped) if (result.Skipped)
@@ -579,36 +579,36 @@ namespace HelixTestHelpers
File.WriteAllText(xunitOutputPath, root.ToString()); File.WriteAllText(xunitOutputPath, root.ToString());
} }
private JsonSerializableTestResult ConvertToSerializableResult(TestResult rerunResult, string[] uniqueErrors) private JsonSerializableTestResult ConvertToSerializableResult(TestResult rerunResult, string[] uniqueErrors)
{ {
var serializableResult = new JsonSerializableTestResult(); var serializableResult = new JsonSerializableTestResult();
serializableResult.outcome = rerunResult.Passed ? "Passed" : "Failed"; serializableResult.outcome = rerunResult.Passed ? "Passed" : "Failed";
serializableResult.duration = (int)Math.Round(rerunResult.ExecutionTime.TotalMilliseconds); serializableResult.duration = (int)Math.Round(rerunResult.ExecutionTime.TotalMilliseconds);
if (!rerunResult.Passed) if (!rerunResult.Passed)
{ {
serializableResult.log = Path.GetFileName(rerunResult.SourceWttFile); serializableResult.log = Path.GetFileName(rerunResult.SourceWttFile);
if (rerunResult.Screenshots.Any()) if (rerunResult.Screenshots.Any())
{ {
List<string> screenshots = new List<string>(); List<string> screenshots = new List<string>();
foreach (var screenshot in rerunResult.Screenshots) foreach (var screenshot in rerunResult.Screenshots)
{ {
screenshots.Add(Path.GetFileName(screenshot)); screenshots.Add(Path.GetFileName(screenshot));
} }
serializableResult.screenshots = screenshots.ToArray(); serializableResult.screenshots = screenshots.ToArray();
} }
// To conserve space, we'll log the index of the error to index in a list of unique errors rather than // To conserve space, we'll log the index of the error to index in a list of unique errors rather than
// jotting down every single error in its entirety. We'll add one to the result so we can avoid // jotting down every single error in its entirety. We'll add one to the result so we can avoid
// serializing this property when it has the default value of 0. // serializing this property when it has the default value of 0.
serializableResult.errorIndex = Array.IndexOf(uniqueErrors, rerunResult.Details) + 1; serializableResult.errorIndex = Array.IndexOf(uniqueErrors, rerunResult.Details) + 1;
} }
return serializableResult; return serializableResult;
} }
@@ -617,7 +617,7 @@ namespace HelixTestHelpers
var filename = Path.GetFileName(filePath); var filename = Path.GetFileName(filePath);
return string.Format("{0}/{1}{2}", helixResultsContainerUri, filename, helixResultsContainerRsas); return string.Format("{0}/{1}{2}", helixResultsContainerUri, filename, helixResultsContainerRsas);
} }
private string GetTestNameSeparator(string testname) private string GetTestNameSeparator(string testname)
{ {
var separatorString = "."; var separatorString = ".";

View File

@@ -56,9 +56,13 @@ Dies ist ein Open Source-Projekt, und wir freuen uns über die Teilnahme der Com
<ReleaseNotes> <ReleaseNotes>
Version __VERSION_NUMBER__ Version __VERSION_NUMBER__
Eine komplett neue Erweiterungsseite, die anzeigt, was in Ihrem Terminal installiert ist Wir haben umgeschrieben, wie Konsolenanwendungen im Terminal gehostet werden! Melden Sie alle auftretenden Fehler.
Die Befehlspalette wird jetzt sowohl in Ihrer Muttersprache als auch auf Englisch angezeigt - Terminal unterstützt jetzt Sixels!
Neue VT-Features wie synchronisiertes Rendering, neue Farbschemas, Konfiguration für schnelle Mausaktionen wie Zoomen und mehr - Sie können jetzt ein angedocktes Fenster öffnen, das Ausschnitte von Befehlen enthält, die Sie gespeichert haben, um sie später zu verwenden.
- Für Benutzer der Eingabeaufforderung der neuesten Version von Windows 11 wird möglicherweise ein „Kurzer Tipp“-Symbol angezeigt, das installierbare Software von WinGet
vorschlägt
- Ausgewählter Text wird jetzt viel sichtbarer (und anpassbarer!)
- Eine Reihe von Zuverlässigkeitsfehlern, Komfortproblemen und Ärgernissen wurden behoben.
Weitere Informationen finden Sie auf unserer GitHub-Releaseseite. Weitere Informationen finden Sie auf unserer GitHub-Releaseseite.
</ReleaseNotes> </ReleaseNotes>

View File

@@ -54,11 +54,14 @@ This is an open source project and we welcome community participation. To partic
<!-- _locComment_text="{MaxLength=255} App DevStudio" --> <!-- _locComment_text="{MaxLength=255} App DevStudio" -->
</DevStudio> </DevStudio>
<ReleaseNotes _locID="App_ReleaseNotes"> <ReleaseNotes _locID="App_ReleaseNotes">
<!-- _locComment_text="{MaxLength=1500} {Locked=__VERSION_NUMBER__}{Locked=wt.exe} App Release Note" -->Version __VERSION_NUMBER__ <!-- _locComment_text="{MaxLength=1500} {Locked=__VERSION_NUMBER__} App Release Note" -->Version __VERSION_NUMBER__
- A whole new Extensions page that shows what has been installed into your Terminal - We've rewritten how console applications are hosted inside Terminal! Please report any bugs you encounter.
- Command Palette now shows up in your native language as well as English - Terminal now supports Sixels!
- New VT features such as synchronized rendering, new color schemes, configuration for quick mouse actions like zooming, and more - You can now open a docked panel containing snippets of commands you have saved to use later
- Command Prompt users on the latest Windows 11 release may see a "quick tip" icon that suggests installable software from WinGet
- Selected text will now be much more visible (and customizable!)
- A number of reliabilty bugs, convenience issues and annoyances have been fixed.
Please see our GitHub releases page for additional details. Please see our GitHub releases page for additional details.
</ReleaseNotes> </ReleaseNotes>

View File

@@ -56,11 +56,14 @@ Este es un proyecto de fuente abierta y animamos a la comunidad a participar. Pa
<ReleaseNotes> <ReleaseNotes>
Versión __VERSION_NUMBER__ Versión __VERSION_NUMBER__
- Página Extensiones completamente nueva que muestra lo que se ha instalado en tu terminal - Hemos reescrito cómo se hospedan las aplicaciones de consola en Terminal. Informe de los errores que encuentre.
- La paleta de comandos ahora se muestra en tu idioma nativo, así como en inglés - Terminal ahora admite sixeles.
- Nuevas características de VT, como la representación sincronizada, nuevos esquemas de color, configuración para acciones rápidas del ratón, como el zoom, y más - Ahora puede abrir un panel acoplado que contenga fragmentos de comandos que haya guardado para usarlos más adelante
- Los usuarios del símbolo del sistema de la versión más reciente de Windows 11 pueden ver un icono de "sugerencia rápida" que sugiere software instalable de WinGet
- El texto seleccionado ahora será mucho más visible (y personalizable)
- Se han corregido varios errores de fiabilidad, problemas de comodidad y molestias.
Consulta la página de versiones de GitHub para más información. Consulte la página de versiones de GitHub para más información.
</ReleaseNotes> </ReleaseNotes>
<ScreenshotCaptions> <ScreenshotCaptions>
<!-- Valid length: 200 character limit, up to 9 elements per platform --> <!-- Valid length: 200 character limit, up to 9 elements per platform -->

View File

@@ -56,11 +56,14 @@ Il sagit dun projet open source et nous vous invitons à participer dans l
<ReleaseNotes> <ReleaseNotes>
Version __VERSION_NUMBER__ Version __VERSION_NUMBER__
- Une toute nouvelle page Extensions qui montre ce qui a été installé dans votre terminal - Nous avons réécrit la manière dont les applications de console sont hébergées dans Terminal ! Veuillez signaler tout bug que vous rencontrez.
- La palette de commandes saffiche désormais dans votre langue native, ainsi quen anglais - Le terminal prend désormais en charge Sixels !
- Nouvelles fonctionnalités VT telles que le rendu synchronisé, de nouveaux schémas de couleurs, la configuration pour des actions rapides de la souris comme le zoom, et plus encore - Vous pouvez désormais ouvrir un panneau ancré contenant des extraits de commandes que vous avez enregistrées pour les utiliser ultérieurement
- Les utilisateurs de l'invite de commande sur la dernière version de Windows 11 peuvent voir une icône « astuce rapide » qui suggère un logiciel installable à partir de WinGet
- Le texte sélectionné sera désormais beaucoup plus visible (et personnalisable !)
- Un certain nombre de bugs de fiabilité, de problèmes de commodité et de désagréments ont été corrigés.
Veuillez consulter notre page des versions GitHub pour découvrir dautres détails. Veuillez consulter notre page de versions GitHub pour plus de détails.
</ReleaseNotes> </ReleaseNotes>
<ScreenshotCaptions> <ScreenshotCaptions>
<!-- Valid length: 200 character limit, up to 9 elements per platform --> <!-- Valid length: 200 character limit, up to 9 elements per platform -->

View File

@@ -56,11 +56,14 @@ Si tratta di un progetto open source e la partecipazione della community è molt
<ReleaseNotes> <ReleaseNotes>
Versione __VERSION_NUMBER__ Versione __VERSION_NUMBER__
- Una pagina Estensioni completamente nuova che mostra ciò che è stato installato nel terminale - È stato riscritto il modo in cui le applicazioni della console vengono ospitate all'interno di Terminale. Segnala eventuali bug riscontrati.
- Il riquadro comandi ora viene visualizzato nella tua lingua di origine oltre che in inglese - Terminal supporta ora Sixel.
- Nuove funzionalità VT come il rendering sincronizzato, le nuove combinazioni di colori, la configurazione per azioni rapide del mouse come lo zoom e altro ancora - È ora possibile aprire un pannello ancorato contenente frammenti di comandi salvati per usarli in seguito
- Gli utenti del prompt dei comandi nella versione più recente di Windows 11 potrebbero visualizzare un'icona di "suggerimento rapido" che consiglia il software installabile da WinGet
- Il testo selezionato sarà ora molto più visibile, oltre che personalizzabile.
- Sono stati risolti diversi bug di affidabilità, problemi di praticità e fastidi.
Per altri dettagli, vedi la pagina delle release di GitHub. Per altri dettagli, vedi la pagina delle versioni di GitHub.
</ReleaseNotes> </ReleaseNotes>
<ScreenshotCaptions> <ScreenshotCaptions>
<!-- Valid length: 200 character limit, up to 9 elements per platform --> <!-- Valid length: 200 character limit, up to 9 elements per platform -->

View File

@@ -56,9 +56,12 @@
<ReleaseNotes> <ReleaseNotes>
バージョン __VERSION_NUMBER__ バージョン __VERSION_NUMBER__
- ターミナルに何がインストールされているかを表示する新しい [拡張機能] ページ - ターミナル内でのコンソール アプリケーションのホスト方法を書き換えました。発生したバグを報告してください。
- コマンド パレットがネイティブ言語と英語で表示されるようになりました - ターミナルで Sixels がサポートされるようになりました
- 同期レンダリング、新しい配色、ズームなどのクイック マウス操作の構成などの、新しい VT 機能 - 後で使用するために保存したコマンドのスニペットを含むドッキング パネルを開けるようになりました
- 最新の Windows 11 リリースのコマンド プロンプト ユーザーには、WinGet からインストール可能なソフトウェアを提案する "クイック ヒント" アイコンが表示される場合があります
- 選択したテキストが大幅に見やすくなりました (カスタマイズも可能です)
- 信頼性に関するバグ、利便性の問題、不快な問題の多くが修正されました。
詳細については、GitHub リリース ページをご覧ください。 詳細については、GitHub リリース ページをご覧ください。
</ReleaseNotes> </ReleaseNotes>

View File

@@ -56,9 +56,12 @@
<ReleaseNotes> <ReleaseNotes>
버전 __VERSION_NUMBER__ 버전 __VERSION_NUMBER__
- 터미널에 설치된 항목을 보여 주는 완전히 새로운 확장 페이지 - 콘솔 애플리케이션이 터미널 내에서 호스팅되는 방법을 다시 작성했습니다! 발생한 버그를 보고하세요.
- 명령 팔레트가 이제 영어뿐만 아니라 모국어로도 표시 - 터미널에서 이제 Sixels를 지원합니다!
- 동기화된 렌더링, 새로운 색 구성표, 확대/축소와 같은 빠른 마우스 동작을 위한 구성 등 새로운 VT 기능이 추가 - 이제 나중에 사용하기 위해 저장한 명령 조각이 포함된 도킹된 패널을 열 수 있습니다.
- 최신 Windows 11 릴리스의 명령 프롬프트 사용자는 WinGet에서 설치 가능한 소프트웨어를 제안하는 "빠른 팁" 아이콘을 볼 수 있습니다.
- 이제 선택한 텍스트가 훨씬 더 잘 표시됩니다(사용자 지정도 가능!).
- 여러 신뢰성 버그, 편의 문제 및 성가신 사항이 수정되었습니다.
자세한 내용은 GitHub 릴리스 페이지를 참조하세요. 자세한 내용은 GitHub 릴리스 페이지를 참조하세요.
</ReleaseNotes> </ReleaseNotes>

View File

@@ -54,11 +54,14 @@ Este é um projeto de código aberto e a participação da comunidade é bem-vin
</DevStudio> </DevStudio>
<ReleaseNotes> <ReleaseNotes>
Version __VERSION_NUMBER__ Versão __VERSION_NUMBER__
Uma nova página de Extensões que mostra o que foi instalado no seu Terminal - Reescrevemos a forma como os aplicativos de console são hospedados no Terminal! Certifique-se de reportar os bugs que você encontrar.
A Paleta de Comandos agora aparece no seu idioma nativo, além do inglês - O terminal agora é compatível com o Sixels!
Novos recursos da VT, como renderização sincronizada, novos esquemas de cores, configuração para ações rápidas do mouse, como zoom, e muito mais - Agora você pode abrir um painel acoplado contendo snippets de comandos que você salvou para usar mais tarde
- Os usuários do Prompt de Comando na versão mais recente do Windows 11 podem ver um ícone de "dica rápida", que sugere softwares instaláveis a partir do WinGet
- O texto selecionado agora ficará muito mais visível (e personalizável!)
- Vários bugs de confiabilidade, problemas de conveniência e incômodos foram resolvidos.
Confira nossa página de lançamentos no GitHub para obter mais detalhes. Confira nossa página de lançamentos no GitHub para obter mais detalhes.
</ReleaseNotes> </ReleaseNotes>

View File

@@ -56,12 +56,14 @@
<ReleaseNotes> <ReleaseNotes>
Vėѓѕіöй __VERSION_NUMBER__ !!! !!! ! Vėѓѕіöй __VERSION_NUMBER__ !!! !!! !
- ₣ïňάĺĺў, ŧне âъΐŀίťŷ ţø şēаґсђ ƒбг ăиÿ şēťτіήġ! !!! !!! !!! !!! !!! - Ẁē'νё ŕéẁѓĭτťёñ ћοώ ĉòπşõℓε άррℓіċªťįõпѕ αяе ĥθѕťэđ įŋšιďé Ţєямїńąℓ! Рļéаšė яёροřτ αņу ьϋģš ýõμ éпćŏџήţęя. !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!
- Á ŋеώ ñăŧїνе ěðíτōг ƒοѓ ќэÿ вїñďĭňğş, дčтιθήѕ дñð çθmmãήδ ρàľěţťę ёñтгĩέś. !!! !!! !!! !!! !!! !!! !!! ! - Ţëямΐʼnαļ ńóẃ ŝüррöятš Śїхέłś! !!! !!! !!!
- Пėώ čоmmμñìтў ŀό¢àłįżåţίòйš ŧō Šэґъιäñ åηδ Ůκŗăįлīăπ !!! !!! !!! !!! !!! ! - ¥оų ĉåи ńòŵ θρėñ д đбčĸэď ράńέļ ċőлŧăīņϊňģ śⁿіφφëťś оƒ ςōмmàⁿďş ŷŏũ ĥªν℮ şåνěđ τσ üśε łαťэŗ !!! !!! !!! !!! !!! !!! !!! !!! !!!
- Ѕυррòŗт ƒòŗ ťĥё "Kitty" ĸ℮ŷъøàŗď ρřŏťô¢õℓ ƒŏґ нįģћ-ƒíđёℓïтÿ îńрüť êńсøďíлğ !!! !!! !!! !!! !!! !!! !!! ! - Ćοмmäлđ Рřōmφť üş℮ŗѕ öη τће ļāťëšτ Щīйđôώѕ 11 řёℓеаѕĕ måў ŝэε ά "qůïςκ ŧĭр" ιсôñ τĥдт šűğģєѕŧѕ ίńśŧăłłавļз šôƒţẁαгέ ƒґόm ЩĩйĞéţ !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!
- Śєļèċťєď ţĕжт ωϊŀļ йǿẃ ьέ mџ¢н мǿѓε νĭŝϊъļė (άŋđ сŭŝтŏмΐżдьļē!) !!! !!! !!! !!! !!! !!! !
- Ä ņϋmъŗ ŏƒ ѓēŀїаъïļŧÿ ьüĝś, ςôⁿνėηĭ℮иć℮ îѕšůëş ăπð âлňбγдňçėŝ ћªνε ъēёп ƒΐ×еð. !!! !!! !!! !!! !!! !!! !!! !!!
Ρŀ℮âѕē şєё όûя ĜîтΗūь ŕεĺĕǻŝёš раġĕ ƒŏґ ãδđϊŧïбπåľ δеτáΐłś. !!! !!! !!! !!! !!! !!! Ρĺёàŝ℮ ŝез ǿúг ĢīťНŭъ řěłεαśèŝ φāğ℮ ƒóѓ дďδітĭøиąℓ ð℮тªїľŝ. !!! !!! !!! !!! !!! !!!
</ReleaseNotes> </ReleaseNotes>
<ScreenshotCaptions> <ScreenshotCaptions>
<!-- Valid length: 200 character limit, up to 9 elements per platform --> <!-- Valid length: 200 character limit, up to 9 elements per platform -->

View File

@@ -56,12 +56,14 @@
<ReleaseNotes> <ReleaseNotes>
Vėѓѕіöй __VERSION_NUMBER__ !!! !!! ! Vėѓѕіöй __VERSION_NUMBER__ !!! !!! !
- ₣ïňάĺĺў, ŧне âъΐŀίťŷ ţø şēаґсђ ƒбг ăиÿ şēťτіήġ! !!! !!! !!! !!! !!! - Ẁē'νё ŕéẁѓĭτťёñ ћοώ ĉòπşõℓε άррℓіċªťįõпѕ αяе ĥθѕťэđ įŋšιďé Ţєямїńąℓ! Рļéаšė яёροřτ αņу ьϋģš ýõμ éпćŏџήţęя. !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!
- Á ŋеώ ñăŧїνе ěðíτōг ƒοѓ ќэÿ вїñďĭňğş, дčтιθήѕ дñð çθmmãήδ ρàľěţťę ёñтгĩέś. !!! !!! !!! !!! !!! !!! !!! ! - Ţëямΐʼnαļ ńóẃ ŝüррöятš Śїхέłś! !!! !!! !!!
- Пėώ čоmmμñìтў ŀό¢àłįżåţίòйš ŧō Šэґъιäñ åηδ Ůκŗăįлīăπ !!! !!! !!! !!! !!! ! - ¥оų ĉåи ńòŵ θρėñ д đбčĸэď ράńέļ ċőлŧăīņϊňģ śⁿіφφëťś оƒ ςōмmàⁿďş ŷŏũ ĥªν℮ şåνěđ τσ üśε łαťэŗ !!! !!! !!! !!! !!! !!! !!! !!! !!!
- Ѕυррòŗт ƒòŗ ťĥё "Kitty" ĸ℮ŷъøàŗď ρřŏťô¢õℓ ƒŏґ нįģћ-ƒíđёℓïтÿ îńрüť êńсøďíлğ !!! !!! !!! !!! !!! !!! !!! ! - Ćοмmäлđ Рřōmφť üş℮ŗѕ öη τће ļāťëšτ Щīйđôώѕ 11 řёℓеаѕĕ måў ŝэε ά "qůïςκ ŧĭр" ιсôñ τĥдт šűğģєѕŧѕ ίńśŧăłłавļз šôƒţẁαгέ ƒґόm ЩĩйĞéţ !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!
- Śєļèċťєď ţĕжт ωϊŀļ йǿẃ ьέ mџ¢н мǿѓε νĭŝϊъļė (άŋđ сŭŝтŏмΐżдьļē!) !!! !!! !!! !!! !!! !!! !
- Ä ņϋmъŗ ŏƒ ѓēŀїаъïļŧÿ ьüĝś, ςôⁿνėηĭ℮иć℮ îѕšůëş ăπð âлňбγдňçėŝ ћªνε ъēёп ƒΐ×еð. !!! !!! !!! !!! !!! !!! !!! !!!
Ρŀ℮âѕē şєё όûя ĜîтΗūь ŕεĺĕǻŝёš раġĕ ƒŏґ ãδđϊŧïбπåľ δеτáΐłś. !!! !!! !!! !!! !!! !!! Ρĺёàŝ℮ ŝез ǿúг ĢīťНŭъ řěłεαśèŝ φāğ℮ ƒóѓ дďδітĭøиąℓ ð℮тªїľŝ. !!! !!! !!! !!! !!! !!!
</ReleaseNotes> </ReleaseNotes>
<ScreenshotCaptions> <ScreenshotCaptions>
<!-- Valid length: 200 character limit, up to 9 elements per platform --> <!-- Valid length: 200 character limit, up to 9 elements per platform -->

View File

@@ -56,12 +56,14 @@
<ReleaseNotes> <ReleaseNotes>
Vėѓѕіöй __VERSION_NUMBER__ !!! !!! ! Vėѓѕіöй __VERSION_NUMBER__ !!! !!! !
- ₣ïňάĺĺў, ŧне âъΐŀίťŷ ţø şēаґсђ ƒбг ăиÿ şēťτіήġ! !!! !!! !!! !!! !!! - Ẁē'νё ŕéẁѓĭτťёñ ћοώ ĉòπşõℓε άррℓіċªťįõпѕ αяе ĥθѕťэđ įŋšιďé Ţєямїńąℓ! Рļéаšė яёροřτ αņу ьϋģš ýõμ éпćŏџήţęя. !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!
- Á ŋеώ ñăŧїνе ěðíτōг ƒοѓ ќэÿ вїñďĭňğş, дčтιθήѕ дñð çθmmãήδ ρàľěţťę ёñтгĩέś. !!! !!! !!! !!! !!! !!! !!! ! - Ţëямΐʼnαļ ńóẃ ŝüррöятš Śїхέłś! !!! !!! !!!
- Пėώ čоmmμñìтў ŀό¢àłįżåţίòйš ŧō Šэґъιäñ åηδ Ůκŗăįлīăπ !!! !!! !!! !!! !!! ! - ¥оų ĉåи ńòŵ θρėñ д đбčĸэď ράńέļ ċőлŧăīņϊňģ śⁿіφφëťś оƒ ςōмmàⁿďş ŷŏũ ĥªν℮ şåνěđ τσ üśε łαťэŗ !!! !!! !!! !!! !!! !!! !!! !!! !!!
- Ѕυррòŗт ƒòŗ ťĥё "Kitty" ĸ℮ŷъøàŗď ρřŏťô¢õℓ ƒŏґ нįģћ-ƒíđёℓïтÿ îńрüť êńсøďíлğ !!! !!! !!! !!! !!! !!! !!! ! - Ćοмmäлđ Рřōmφť üş℮ŗѕ öη τће ļāťëšτ Щīйđôώѕ 11 řёℓеаѕĕ måў ŝэε ά "qůïςκ ŧĭр" ιсôñ τĥдт šűğģєѕŧѕ ίńśŧăłłавļз šôƒţẁαгέ ƒґόm ЩĩйĞéţ !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!
- Śєļèċťєď ţĕжт ωϊŀļ йǿẃ ьέ mџ¢н мǿѓε νĭŝϊъļė (άŋđ сŭŝтŏмΐżдьļē!) !!! !!! !!! !!! !!! !!! !
- Ä ņϋmъŗ ŏƒ ѓēŀїаъïļŧÿ ьüĝś, ςôⁿνėηĭ℮иć℮ îѕšůëş ăπð âлňбγдňçėŝ ћªνε ъēёп ƒΐ×еð. !!! !!! !!! !!! !!! !!! !!! !!!
Ρŀ℮âѕē şєё όûя ĜîтΗūь ŕεĺĕǻŝёš раġĕ ƒŏґ ãδđϊŧïбπåľ δеτáΐłś. !!! !!! !!! !!! !!! !!! Ρĺёàŝ℮ ŝез ǿúг ĢīťНŭъ řěłεαśèŝ φāğ℮ ƒóѓ дďδітĭøиąℓ ð℮тªїľŝ. !!! !!! !!! !!! !!! !!!
</ReleaseNotes> </ReleaseNotes>
<ScreenshotCaptions> <ScreenshotCaptions>
<!-- Valid length: 200 character limit, up to 9 elements per platform --> <!-- Valid length: 200 character limit, up to 9 elements per platform -->

View File

@@ -56,9 +56,12 @@
<ReleaseNotes> <ReleaseNotes>
Версия __VERSION_NUMBER__ Версия __VERSION_NUMBER__
Новая страница расширений, на которой отображается информация о том, что было установлено в вашем терминале Мы переписали, как консольные приложения размещаются внутри Терминала! Сообщайте о любых ошибках, с которыми вы столкнулись.
Палитра команд теперь доступна на вашем языке, а также на английском Терминал теперь поддерживает форматы Sixel!
Новые функции VT, например синхронизированная отрисовка, новые цветовые схемы, настройка быстрых действий мыши, таких как масштабирование, и т. д. Теперь вы можете открыть закрепленную панель, содержащую фрагменты команд, которые вы сохранили для использования в дальнейшем
Пользователи командной строки в новейшем выпуске Windows 11 могут увидеть значок "краткой подсказки", который предлагает устанавливаемые программы из WinGet
Выделенный текст теперь станет более видимым (и настраиваемым!)
Исправлено несколько ошибок надежности, проблем с удобством, а также устранены раздражающие моменты.
Дополнительные сведения см. на странице выпусков GitHub. Дополнительные сведения см. на странице выпусков GitHub.
</ReleaseNotes> </ReleaseNotes>

View File

@@ -1,181 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<ProductDescription language="en-us" xmlns="http://schemas.microsoft.com/appx/2012/ProductDescription" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="en-us" Release="">
<AppStoreName _locID="App_AppStoreName">
<!-- This is optional. AppStoreName is typically extracted from your package's AppxManifest DisplayName property. -->
<!-- Uncomment (and localize) this Store name if your application package does not contain a localization for the DisplayName in this language. -->
<!-- Leaving this uncommented for a language that your application package DOES contain a DisplayName for will result in a submission failure with the API. -->
<!-- _locComment_text="{MaxLength=200} App AppStoreName" -->
<!-- Windows Terminal -->
</AppStoreName>
<Keywords>
<!-- Valid length: 30 character limit, up to 7 elements -->
<Keyword _locID="App_keyword1">
<!-- _locComment_text="{MaxLength=30} App keyword 1" -->Термінал</Keyword>
<Keyword _locID="App_keyword2">
<!-- _locComment_text="{MaxLength=30} App keyword 2" -->Консоль</Keyword>
<Keyword _locID="App_keyword3">
<!-- _locComment_text="{MaxLength=30} App keyword 3" -->
</Keyword>
<Keyword _locID="App_keyword4">
<!-- _locComment_text="{MaxLength=30} App keyword 4" -->
</Keyword>
<Keyword _locID="App_keyword5">
<!-- _locComment_text="{MaxLength=30} App keyword 5" -->
</Keyword>
<Keyword _locID="App_keyword6">
<!-- _locComment_text="{MaxLength=30} App keyword 6" -->
</Keyword>
<Keyword _locID="App_keyword7">
<!-- _locComment_text="{MaxLength=30} App keyword 7" -->
</Keyword>
</Keywords>
<Description _locID="App_Description">
<!-- _locComment_text="{MaxLength=10000} App Description" -->Це попередня збірка терміналу Windows, яка містить найновіші функції в міру їх розробки. Термінал Windows - це сучасний, швидкий, ефективний, потужний та продуктивний термінальний застосунок для користувачів інструментів командного рядка та оболонок, таких як командний рядок, PowerShell та WSL. Його основні функції включають кілька вкладок, панелей, підтримку символів Unicode та UTF-8, механізм візуалізації тексту з прискоренням GPU, а також користувацькі теми, стилі та конфігурації.
Це проєкт з відкритим кодом, і ми вітаємо участь спільноти. Щоб взяти участь, будь ласка, відвідайте https://github.com/microsoft/terminal </Description>
<ShortDescription _locID="App_ShortDescription">
<!-- Only used for games. This description appears in the Information section of the Game Hub on Xbox One, and helps customers understand more about your game. -->
<!-- _locComment_text="{MaxLength=500} App ShortDescription" -->
</ShortDescription>
<ShortTitle _locID="App_ShortTitle">
<!-- A shorter version of your product's name. If provided, this shorter name may appear in various places on Xbox One (during installation, in Achievements, etc.) in place of the full title of your product. -->
<!-- _locComment_text="{MaxLength=50} App ShortTitle" -->
</ShortTitle>
<SortTitle _locID="App_SortTitle">
<!-- If your product could be alphabetized in different ways, you can enter another version here. This may help customers find the product more quickly when searching. -->
<!-- _locComment_text="{MaxLength=255} App SortTitle" -->
</SortTitle>
<VoiceTitle _locID="App_VoiceTitle">
<!-- An alternate name for your product that, if provided, may be used in the audio experience on Xbox One when using Kinect or a headset. -->
<!-- _locComment_text="{MaxLength=255} App VoiceTitle" -->
</VoiceTitle>
<DevStudio _locID="App_DevStudio">
<!-- Specify this value if you want to include a "Developed by" field in the listing. (The "Published by" field will list the publisher display name associated with your account, whether or not you provide a devStudio value.) -->
<!-- _locComment_text="{MaxLength=255} App DevStudio" -->
</DevStudio>
<ReleaseNotes _locID="App_ReleaseNotes">
<!-- _locComment_text="{MaxLength=1500} {Locked=__VERSION_NUMBER__}{Locked=wt.exe} App Release Note" -->Версія __VERSION_NUMBER__
- Цілком нова сторінка розширень, яка показує, що було встановлено у вашому терміналі
- Палітра команд тепер відображається вашою рідною мовою, а також англійською
- Нові функції віртуального автомата, такі як синхронізований рендеринг, нові колірні схеми, налаштування для швидких дій миші, таких як масштабування, тощо
Будь ласка, перегляньте нашу сторінку релізів GitHub для отримання додаткової інформації.
</ReleaseNotes>
<ScreenshotCaptions>
<!-- Valid length: 200 character limit, up to 9 elements per platform -->
<!-- Valid attributes: any of DesktopImage, MobileImage, XboxImage, SurfaceHubImage, and HoloLensImage -->
<Caption DesktopImage="acrylic-emoji.png" _locID="App_caption1">
<!-- _locComment_text="{MaxLength=200} Screenshot caption 1" -->
</Caption>
<Caption DesktopImage="panes.png" _locID="App_caption2">
<!-- _locComment_text="{MaxLength=200} Screenshot caption 2" -->
</Caption>
<Caption DesktopImage="htop.png" _locID="App_caption3">
<!-- _locComment_text="{MaxLength=200} Screenshot caption 3" -->
</Caption>
</ScreenshotCaptions>
<AdditionalAssets>
<!-- Valid elements:-->
<!-- HeroImage414x180, HeroImage846x468, HeroImage558x756, HeroImage414x468, HeroImage558x558, HeroImage2400x1200,-->
<!-- ScreenshotWXGA, ScreenshotHD720, ScreenshotWVGA, Doublewide, Panoramic, Square,-->
<!-- SmallMobileTile, SmallXboxLiveTile, LargeMobileTile, LargeXboxLiveTile, Tile,-->
<!-- DesktopIcon, Icon (use this value for the 1:1 300x300 pixels logo), AchievementIcon,-->
<!-- ChallengePromoIcon, RewardDisplayIcon, Icon150X150, Icon71X71,-->
<!-- BoxArt, BrandedKeyArt, PosterArt, FeaturedPromotionalArt, PromotionalArt16x9, TitledHeroArt-->
<!-- There is no content for any of these elements, just a single attribute called FileName. -->
<PosterArt FileName="Store Poster Art.png" />
<BoxArt FileName="Store Box Art.png" />
<PromotionalArt16x9 FileName="Store Thumbnail.png" />
</AdditionalAssets>
<Trailers>
<!-- Maximum number of trailers permitted: 15 -->
<Trailer FileName="CC0605_CommandLine_Teaser_WEB_MASTER_H264_1080p_23.976_-16LKFS_-3dbTP_ST.mp4">
<Title _locID="App_trailerTitle1">
<!-- _locComment_text="{MaxLength=255} Trailer title 1" -->Новий термінал Windows</Title>
<Images>
<!-- Current maximum of 1 image per trailer permitted. -->
<Image FileName="Store Thumbnail.png">
<!-- _locComment_text="{Locked} Trailer screenshot 1 description" -->
</Image>
</Images>
</Trailer>
</Trailers>
<AppFeatures>
<!-- Valid length: 200 character limit, up to 20 elements -->
<AppFeature _locID="App_feature1">
<!-- _locComment_text="{MaxLength=200} App Feature 1" -->Наявність вкладок</AppFeature>
<AppFeature _locID="App_feature2">
<!-- _locComment_text="{MaxLength=200} App Feature 2" -->Повна підтримка Юнікоду</AppFeature>
<AppFeature _locID="App_feature3">
<!-- _locComment_text="{MaxLength=200} App Feature 3" -->Рендеринг тексту з прискоренням GPU</AppFeature>
<AppFeature _locID="App_feature4">
<!-- _locComment_text="{MaxLength=200} App Feature 4" -->Широкі можливості кастомізації</AppFeature>
<AppFeature _locID="App_feature5">
<!-- _locComment_text="{MaxLength=200} App Feature 5" -->Розділення панелей</AppFeature>
<AppFeature _locID="App_feature6">
<!-- _locComment_text="{MaxLength=200} App Feature 6" -->
</AppFeature>
<AppFeature _locID="App_feature7">
<!-- _locComment_text="{MaxLength=200} App Feature 7" -->
</AppFeature>
<AppFeature _locID="App_feature8">
<!-- _locComment_text="{MaxLength=200} App Feature 8" -->
</AppFeature>
<AppFeature _locID="App_feature9">
<!-- _locComment_text="{MaxLength=200} App Feature 9" -->
</AppFeature>
<AppFeature _locID="App_feature10">
<!-- _locComment_text="{MaxLength=200} App Feature 10" -->
</AppFeature>
<AppFeature _locID="App_feature11">
<!-- _locComment_text="{MaxLength=200} App Feature 11" -->
</AppFeature>
<AppFeature _locID="App_feature12">
<!-- _locComment_text="{MaxLength=200} App Feature 12" -->
</AppFeature>
<AppFeature _locID="App_feature13">
<!-- _locComment_text="{MaxLength=200} App Feature 13" -->
</AppFeature>
<AppFeature _locID="App_feature14">
<!-- _locComment_text="{MaxLength=200} App Feature 14" -->
</AppFeature>
<AppFeature _locID="App_feature15">
<!-- _locComment_text="{MaxLength=200} App Feature 15" -->
</AppFeature>
<AppFeature _locID="App_feature16">
<!-- _locComment_text="{MaxLength=200} App Feature 16" -->
</AppFeature>
<AppFeature _locID="App_feature17">
<!-- _locComment_text="{MaxLength=200} App Feature 17" -->
</AppFeature>
<AppFeature _locID="App_feature18">
<!-- _locComment_text="{MaxLength=200} App Feature 18" -->
</AppFeature>
<AppFeature _locID="App_feature19">
<!-- _locComment_text="{MaxLength=200} App Feature 19" -->
</AppFeature>
<AppFeature _locID="App_feature20">
<!-- _locComment_text="{MaxLength=200} App Feature 20" -->
</AppFeature>
</AppFeatures>
<RecommendedHardware>
<!-- Valid length: 200 character limit, up to 11 elements -->
<Recommendation _locID="App_RecommendedHW1">
<!-- _locComment_text="{MaxLength=200} App Recommended Hardware 1" -->Клавіатура</Recommendation>
</RecommendedHardware>
<MinimumHardware>
<!-- Valid length: 200 character limit, up to 11 elements -->
</MinimumHardware>
<CopyrightAndTrademark _locID="App_CopyrightandTrademark">
<!-- _locComment_text="{MaxLength=200} Copyright and Trademark" -->Права (c) Корпорація Майкрософт</CopyrightAndTrademark>
<AdditionalLicenseTerms _locID="App_AdditionalLicenseTerms">
<!-- _locComment_text="{MaxLength=10000} Additional License Terms" -->
</AdditionalLicenseTerms>
<WebsiteURL _locID="App_WebsiteURL">
<!-- _locComment_text="{MaxLength=2048} WebsiteURL" -->https://github.com/microsoft/terminal</WebsiteURL>
<SupportContactInfo _locID="App_SupportContactInfo">
<!-- _locComment_text="{MaxLength=2048} Support Contact Info" -->https://github.com/microsoft/terminal/issues/new</SupportContactInfo>
<PrivacyPolicyURL _locID="App_PrivacyURL">
<!-- _locComment_text="{MaxLength=2048} Privacy Policy URL" -->https://go.microsoft.com/fwlink/?LinkID=521839</PrivacyPolicyURL>
</ProductDescription>

View File

@@ -56,9 +56,12 @@
<ReleaseNotes> <ReleaseNotes>
Version __VERSION_NUMBER__ Version __VERSION_NUMBER__
- 一个全新的“扩展”页,显示已安装到终端的内容 - 我们已改变主机应用程序在终端内的托管方式!请报告遇到的任何 bug。
- 命令面板现在以你的母语和英语显示 - 终端现在支持 Sixels!
- 新的 VT 功能,例如同步渲染、新配色方案、快速鼠标操作(如缩放)的配置等 - 现在可以打开一个停靠面板,其中包含已保存供以后使用的命令片段
- 最新 Windows 11 版本上的命令提示用户可能会看到“快速提示”图标,该图标建议从 WinGet 安装软件
- 所选文本现在将具有更高的可见性(和可自定义性!)
- 修复了许多可靠性 bug、便利性问题和令人烦恼的问题。
有关其他详细信息,请参阅我们的 GitHub 发布页面。 有关其他详细信息,请参阅我们的 GitHub 发布页面。
</ReleaseNotes> </ReleaseNotes>

View File

@@ -54,13 +54,16 @@
</DevStudio> </DevStudio>
<ReleaseNotes> <ReleaseNotes>
Version __VERSION_NUMBER__ 版本 __VERSION_NUMBER__
- 全新的延伸模組頁面會顯示已安裝在您終端機中的內容 - 我們已重寫主機應用程式在終端機內託管的方式!請報告您遇到的錯誤。
- 命令選擇區現在以您的母語和英文顯示 - 終端機現在支援 Sixels!
- 新的 VT 功能,例如同步轉譯、新的色彩配置、快速滑鼠動作 (例如縮放) 設定等等 - 現在,您可以開啟包含已儲存命令程式碼片段的固定面板,以供稍後使用
- 最新 Windows 11 版本中的 [命令提示] 使用者可能會看到「快速提示」圖示,建議可自 WinGet 安裝的軟體
- 選取的文字現在會更明顯 (且可自訂!)
- 已修正一些可靠性錯誤、便利性問題和令人困擾的問題。
如需更多詳細資,請參閱我們的 GitHub 發行版本頁面。 如需更多詳細資,請參閱我們的 GitHub 發行頁面。
</ReleaseNotes> </ReleaseNotes>
<ScreenshotCaptions> <ScreenshotCaptions>
<!-- Valid length: 200 character limit, up to 9 elements per platform --> <!-- Valid length: 200 character limit, up to 9 elements per platform -->

View File

@@ -20,7 +20,6 @@
"DisableAutoPackageNameFormatting": false "DisableAutoPackageNameFormatting": false
}, },
"appSubmission": { "appSubmission": {
"appId": "9N8G5RFZ9XK3",
"productId": "00014050269303149694", "productId": "00014050269303149694",
"targetPublishMode": "NotSet", "targetPublishMode": "NotSet",
"targetPublishDate": null, "targetPublishDate": null,

View File

@@ -56,9 +56,12 @@ Dies ist ein Open Source-Projekt, und wir freuen uns über die Teilnahme an der
<ReleaseNotes> <ReleaseNotes>
Version __VERSION_NUMBER__ Version __VERSION_NUMBER__
Wir haben der Benutzeroberfläche Dutzende von Einstellungen hinzugefügt, die nur einmal in der JSON-Datei vorhanden waren, einschließlich einer neuen Seite zum Anpassen des Layouts Ihres Menüs „Neue Registerkarte“! Terminal speichert jetzt den Inhalt des Fensters, wenn Sie die Sitzungswiederherstellung verwenden.
Wir haben die Fensterverwaltung umgestaltet, um die Zuverlässigkeit zu verbessern. Melden Sie alle Fehler, die beim alias „wt.exe“ auftreten Sie können jetzt mehrere Schriftarten gleichzeitig verwenden.
Profile zeigen jetzt ein Symbol an, wenn sie ausgeblendet wurden oder auf Programme verweisen, die deinstalliert wurden. Kästchenzeichnende Zeichen werden jetzt pixelgenau gerendert.
Die Verwendung eines IME innerhalb des Terminals wurde erheblich verbessert.
Die Farbschemas in Ihrer JSON-Datei sind jetzt viel einfacher.
Eine Reihe von Fehlern im Zusammenhang mit der URL-Verarbeitung, Zeilen mit doppelter Breite, Zeilenumbruch und mehr wurden behoben.
Weitere Informationen finden Sie auf unserer GitHub-Releaseseite. Weitere Informationen finden Sie auf unserer GitHub-Releaseseite.
</ReleaseNotes> </ReleaseNotes>

View File

@@ -54,11 +54,14 @@ This is an open source project and we welcome community participation. To partic
<!-- _locComment_text="{MaxLength=255} App DevStudio" --> <!-- _locComment_text="{MaxLength=255} App DevStudio" -->
</DevStudio> </DevStudio>
<ReleaseNotes _locID="App_ReleaseNotes"> <ReleaseNotes _locID="App_ReleaseNotes">
<!-- _locComment_text="{MaxLength=1500} {Locked=__VERSION_NUMBER__}{Locked=wt.exe} App Release Note" -->Version __VERSION_NUMBER__ <!-- _locComment_text="{MaxLength=1500} {Locked=__VERSION_NUMBER__} App Release Note" -->Version __VERSION_NUMBER__
- We've added dozens of settings to the UI that once only existed in the JSON file, including a new page for customizing the layout of your New Tab menu! - Terminal will now remember the contents of the window when you use session restoration.
- We have rearchitected window management to improve reliability; please file any bugs you encounter with the wt.exe alias - You can now use multiple fonts at the same time.
- Profiles now show an icon if they've been hidden or refer to programs which were uninstalled. - Box-drawing characters are now rendered with pixel perfection.
- The experience of using an IME inside Terminal has been significantly improved.
- The color schemes inside your JSON file will now be much simpler.
- A number of bugs around URL handling, double-width rows, line wrapping, and more have been fixed.
Please see our GitHub releases page for additional details. Please see our GitHub releases page for additional details.
</ReleaseNotes> </ReleaseNotes>

View File

@@ -56,9 +56,12 @@ Este es un proyecto de fuente abierta y animamos a la comunidad a participar. Pa
<ReleaseNotes> <ReleaseNotes>
Versión __VERSION_NUMBER__ Versión __VERSION_NUMBER__
- Hemos añadido decenas de configuraciones a la interfaz de usuario que antes solo existían en el archivo JSON, incluida una nueva página para personalizar el diseño del menú Nueva pestaña. - Terminal recordará ahora el contenido de la ventana cuando use la restauración de la sesión.
- Hemos reestructurado la gestión de ventanas para mejorar la fiabilidad; informe de cualquier error que encuentre con el alias wt.exe - Ahora puede usar varias fuentes al mismo tiempo.
- Ahora, los perfiles muestran un icono si han sido ocultados o hacen referencia a programas que han sido desinstalados. - Los caracteres que dibujan recuadros ahora se representan con precisión de píxel.
- Se ha mejorado significativamente la experiencia de utilizar un IME dentro de Terminal.
- Las combinaciones de colores dentro del archivo JSON ahora serán mucho más sencillas.
- Se han corregido varios errores relacionados con el control de direcciones URL, las filas de ancho doble, el ajuste de líneas y mucho más.
Consulte la página de versiones de GitHub para más información. Consulte la página de versiones de GitHub para más información.
</ReleaseNotes> </ReleaseNotes>

View File

@@ -56,11 +56,14 @@ Il sagit dun projet open source et nous encourageons la participation à l
<ReleaseNotes> <ReleaseNotes>
Version __VERSION_NUMBER__ Version __VERSION_NUMBER__
- Nous avons ajouté des dizaines de paramètres à linterface utilisateur qui nexistaient auparavant que dans le fichier JSON, y compris une nouvelle page pour personnaliser la disposition de votre menu Nouvel onglet. - Le terminal mémorisera désormais le contenu de la fenêtre lorsque vous utiliserez la restauration de session.
- Nous avons fait une refonte de la gestion des fenêtres pour améliorer la fiabilité. Veuillez signaler les bogues que vous rencontrez avec lalias wt.exe. - Vous pouvez désormais utiliser plusieurs polices en même temps.
- Les profils affichent désormais une icône sils ont été masqués ou sils font référence à des programmes qui ont été désinstallés. - Les personnages dessinés en boîte sont désormais rendus avec une perfection de pixel.
- L'expérience d'utilisation d'un IME dans le Terminal a été considérablement améliorée.
- Les schémas de couleurs à l'intérieur de votre fichier JSON seront désormais beaucoup plus simples.
- Un certain nombre de bugs concernant la gestion des URL, les lignes à double largeur, le retour à la ligne, etc. ont été corrigés.
Veuillez consulter notre page des versions GitHub pour découvrir dautres détails. Veuillez consulter notre page de versions GitHub pour plus de détails.
</ReleaseNotes> </ReleaseNotes>
<ScreenshotCaptions> <ScreenshotCaptions>
<!-- Valid length: 200 character limit, up to 9 elements per platform --> <!-- Valid length: 200 character limit, up to 9 elements per platform -->

View File

@@ -54,13 +54,16 @@ Si tratta di un progetto open source e la partecipazione della community è molt
</DevStudio> </DevStudio>
<ReleaseNotes> <ReleaseNotes>
Versione __VERSION_NUMBER__ Versione __VERSION_NUMBER__
- Abbiamo aggiunto decine di impostazioni all'interfaccia utente che in precedenza esistevano solo nel file JSON, inclusa una nuova pagina per personalizzare il layout del menu Nuova scheda. - Il terminale ricorda ora il contenuto della finestra quando si usa il ripristino della sessione.
- Abbiamo riprogettato la gestione delle finestre per migliorarne l'affidabilità; segnala eventuali bug riscontrati con l'alias wt.exe - È ora possibile usare più tipi di carattere contemporaneamente.
- I profili ora mostrano un'icona se sono stati nascosti o se fanno riferimento a programmi disinstallati. - I caratteri tracciati vengono ora sottoposti a rendering con pixel di perfezionamento.
- L'esperienza di utilizzo di un IME all'interno di Terminale è stata notevolmente migliorata.
- Le combinazioni di colori all'interno del file JSON saranno ora molto più semplici.
- Sono stati corretti alcuni bug relativi alla gestione degli URL, alle righe a doppia larghezza, al ritorno a capo delle righe e altro ancora.
Per altri dettagli, vedi la pagina delle release di GitHub. Per altri dettagli, vedi la pagina delle versioni di GitHub.
</ReleaseNotes> </ReleaseNotes>
<ScreenshotCaptions> <ScreenshotCaptions>
<!-- Valid length: 200 character limit, up to 9 elements per platform --> <!-- Valid length: 200 character limit, up to 9 elements per platform -->

View File

@@ -56,9 +56,12 @@
<ReleaseNotes> <ReleaseNotes>
バージョン __VERSION_NUMBER__ バージョン __VERSION_NUMBER__
- 新しいタブ メニューのレイアウトをカスタマイズするための新しいページなど、以前は JSON ファイルにしかなかった設定が UI に多数追加されました。 - セッションの復元を使用すると、ターミナルがウィンドウの内容を記憶するようになりました。
- 信頼性を向上させるために、ウィンドウ管理を再設計しました。wt.exe エイリアスで発生したバグを報告してください - 複数のフォントを同時に使用できるようになりました。
- プロファイルが非表示になっている場合や、アンインストールされたプログラムを参照している場合に、アイコンが表示されるようになりました。 - ボックス描画文字がピクセル単位の精度でレンダリングされるようになりました。
- ターミナル内での IME の使用エクスペリエンスが大幅に改善されました。
- JSON ファイル内の配色がはるかにシンプルになりました。
- URL 処理、二重幅の行、行の折り返しなどに関するいくつかのバグが修正されました。
詳細については、GitHub リリース ページをご覧ください。 詳細については、GitHub リリース ページをご覧ください。
</ReleaseNotes> </ReleaseNotes>

View File

@@ -56,9 +56,12 @@
<ReleaseNotes> <ReleaseNotes>
버전 __VERSION_NUMBER__ 버전 __VERSION_NUMBER__
- 새 탭 메뉴의 레이아웃을 사용자 지정하기 위한 새 페이지를 포함하여 JSON 파일에만 존재했던 수십 개의 설정을 UI에 추가 - 터미널은 이제 세션 복원을 사용할 때 창의 내용을 기억합니다.
- 안정성을 개선하기 위해 창 관리 구조를 재구성했습니다. wt.exe 별칭과 관련하여 발생한 버그 신고 - 이제 여러 글꼴을 동시에 사용할 수 있습니다.
- 프로필이 숨겨졌거나 제거된 프로그램을 참조하는 경우 이제 프로필에 아이콘이 표시됩니다. - 상자 그리기 캐릭터가 이제 픽셀 완성도로 렌더링됩니다.
- 터미널 내에서 IME를 사용하는 환경이 크게 개선되었습니다.
- 이제 JSON 파일 내의 색 구성표가 훨씬 더 간단해집니다.
- URL 처리, 이중 너비 행, 줄 바꿈 등과 관련된 여러 버그가 수정되었습니다.
자세한 내용은 GitHub 릴리스 페이지를 참조하세요. 자세한 내용은 GitHub 릴리스 페이지를 참조하세요.
</ReleaseNotes> </ReleaseNotes>

View File

@@ -54,11 +54,14 @@ Este é um projeto de código aberto e a participação da comunidade é bem-vin
</DevStudio> </DevStudio>
<ReleaseNotes> <ReleaseNotes>
Version __VERSION_NUMBER__ Versão __VERSION_NUMBER__
Adicionamos várias configurações à interface do usuário que antes só existiam no arquivo JSON, incluindo uma nova página para personalizar o layout do seu menu Nova Guia! - O terminal agora se lembra do conteúdo da janela quando você usa a restauração de sessão.
Reestruturamos o gerenciamento de janelas para melhorar a confiabilidade; registre os bugs que você encontrar com o alias wt.exe - Agora você pode usar várias fontes ao mesmo tempo.
Os perfis agora exibem um ícone se estiverem ocultos ou se referirem a programas que foram desinstalados. - Os caracteres da caixa de desenho agora são renderizados com a perfeição de pixels.
- A experiência de usar uma IME dentro do Terminal foi significativamente aprimorada.
- Os esquemas de cores dentro do seu arquivo JSON agora estão muito mais simples.
- Foram corrigidos vários bugs envolvendo o tratamento de URLs, linhas de largura dupla, quebra de linha automática e muito mais.
Confira nossa página de lançamentos no GitHub para obter mais detalhes. Confira nossa página de lançamentos no GitHub para obter mais detalhes.
</ReleaseNotes> </ReleaseNotes>

View File

@@ -56,11 +56,14 @@
<ReleaseNotes> <ReleaseNotes>
Vėѓѕіöй __VERSION_NUMBER__ !!! !!! ! Vėѓѕіöй __VERSION_NUMBER__ !!! !!! !
- Ą ωћόĺé ņέш ∑×τзńşĩōиŝ ρâģε τђат šнòωş ωħąт нǻś ъеēñ įηšтǻľĺéδ ĭʼnтο ўбμŗ Ţзřmĭňāŀ !!! !!! !!! !!! !!! !!! !!! !!! - Ŧēгмíйǻŀ шιļł ñσщ řėmėmвзґ τђз ςоńţëηťŝ σƒ ŧћé ẅιⁿδőщ ẅђеή ýóύ ŭš℮ şεššîóŋ řėşτŏѓдτіόŋ. !!! !!! !!! !!! !!! !!! !!! !!! !!!
- €όммаήδ Рдĺēтţĕ пŏẅ şĥŏшś üρ ϊñ ỳоũѓ йαťïνє ļäŋģµаġέ άś ŵєŀľ åś Σиĝℓĭŝђ !!! !!! !!! !!! !!! !!! !!! - Ύоџ ςàⁿ ŋóώ ũşэ múľŧìφľё ƒоʼnťş àт ťħе ѕâmз тìме. !!! !!! !!! !!! !!!
- ∏еẅ VΤ ƒэåŧύґέŝ şűçн ăŝ ѕỳňсĥŗǿйìźėð гēŋďзříⁿğ, ηĕш ćôĺõг şĉћěмєѕ, çóńƒіĝџŗáτїöπ ƒοг qũī¢ķ möűšë ąćŧϊόņŝ ľîķє žøōmίйğ, ǻⁿđ мόřε !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! - Вό×-ðгăшĭиġ ¢ĥаяäςтеřѕ äřę ηоẁ ѓëńđêяεď ẁϊτђ φïжêĺ φėŗƒēςŧΐøй. !!! !!! !!! !!! !!! !!! !
- Ťħέ ĕхφêŕï℮ηĉε ŏƒ ύѕïйġ ǻʼn ÎМË îńšïďê Τєřmíлäļ нαŝ ьēέň ѕιĝήîƒіčäπţŀý ĩмφґθνзđ. !!! !!! !!! !!! !!! !!! !!! !!!
- Ťĥę čöℓοг şçђėmęš ιʼnśΐδê убџѓ ĴŠОИ ƒϊŀε ωĭŀł ʼnθω вз мúçĥ ѕїмρℓёґ. !!! !!! !!! !!! !!! !!! !!
- Á ήũmьéŕ òƒ вµġŝ άřòūñδ ÛҐĿ ħàŋδľįйģ, ðőџъŀε-ŵĭďτђ ŗōẁš, ŀϊπė ẃяąрρΐηğ, âⁿđ мŏř℮ ĥāνě везŋ ƒï×έð. !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!
Ρĺęąŝэ ѕєě õμя ĞĭтΗύв řєĺэдšέŝ рάġě ƒοґ àďđϊтїõлаℓ ðêţǻїłş. !!! !!! !!! !!! !!! !!! Ρļēªšê ŝέė őůг ĜīтĤųъ яëŀεäśēś рдġэ ƒõя ãδðìτϊöňãł δèτâĩĺѕ. !!! !!! !!! !!! !!! !!!
</ReleaseNotes> </ReleaseNotes>
<ScreenshotCaptions> <ScreenshotCaptions>
<!-- Valid length: 200 character limit, up to 9 elements per platform --> <!-- Valid length: 200 character limit, up to 9 elements per platform -->

View File

@@ -56,11 +56,14 @@
<ReleaseNotes> <ReleaseNotes>
Vėѓѕіöй __VERSION_NUMBER__ !!! !!! ! Vėѓѕіöй __VERSION_NUMBER__ !!! !!! !
- Ą ωћόĺé ņέш ∑×τзńşĩōиŝ ρâģε τђат šнòωş ωħąт нǻś ъеēñ įηšтǻľĺéδ ĭʼnтο ўбμŗ Ţзřmĭňāŀ !!! !!! !!! !!! !!! !!! !!! !!! - Ŧēгмíйǻŀ шιļł ñσщ řėmėmвзґ τђз ςоńţëηťŝ σƒ ŧћé ẅιⁿδőщ ẅђеή ýóύ ŭš℮ şεššîóŋ řėşτŏѓдτіόŋ. !!! !!! !!! !!! !!! !!! !!! !!! !!!
- €όммаήδ Рдĺēтţĕ пŏẅ şĥŏшś üρ ϊñ ỳоũѓ йαťïνє ļäŋģµаġέ άś ŵєŀľ åś Σиĝℓĭŝђ !!! !!! !!! !!! !!! !!! !!! - Ύоџ ςàⁿ ŋóώ ũşэ múľŧìφľё ƒоʼnťş àт ťħе ѕâmз тìме. !!! !!! !!! !!! !!!
- ∏еẅ VΤ ƒэåŧύґέŝ şűçн ăŝ ѕỳňсĥŗǿйìźėð гēŋďзříⁿğ, ηĕш ćôĺõг şĉћěмєѕ, çóńƒіĝџŗáτїöπ ƒοг qũī¢ķ möűšë ąćŧϊόņŝ ľîķє žøōmίйğ, ǻⁿđ мόřε !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! - Вό×-ðгăшĭиġ ¢ĥаяäςтеřѕ äřę ηоẁ ѓëńđêяεď ẁϊτђ φïжêĺ φėŗƒēςŧΐøй. !!! !!! !!! !!! !!! !!! !
- Ťħέ ĕхφêŕï℮ηĉε ŏƒ ύѕïйġ ǻʼn ÎМË îńšïďê Τєřmíлäļ нαŝ ьēέň ѕιĝήîƒіčäπţŀý ĩмφґθνзđ. !!! !!! !!! !!! !!! !!! !!! !!!
- Ťĥę čöℓοг şçђėmęš ιʼnśΐδê убџѓ ĴŠОИ ƒϊŀε ωĭŀł ʼnθω вз мúçĥ ѕїмρℓёґ. !!! !!! !!! !!! !!! !!! !!
- Á ήũmьéŕ òƒ вµġŝ άřòūñδ ÛҐĿ ħàŋδľįйģ, ðőџъŀε-ŵĭďτђ ŗōẁš, ŀϊπė ẃяąрρΐηğ, âⁿđ мŏř℮ ĥāνě везŋ ƒï×έð. !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!
Ρĺęąŝэ ѕєě õμя ĞĭтΗύв řєĺэдšέŝ рάġě ƒοґ àďđϊтїõлаℓ ðêţǻїłş. !!! !!! !!! !!! !!! !!! Ρļēªšê ŝέė őůг ĜīтĤųъ яëŀεäśēś рдġэ ƒõя ãδðìτϊöňãł δèτâĩĺѕ. !!! !!! !!! !!! !!! !!!
</ReleaseNotes> </ReleaseNotes>
<ScreenshotCaptions> <ScreenshotCaptions>
<!-- Valid length: 200 character limit, up to 9 elements per platform --> <!-- Valid length: 200 character limit, up to 9 elements per platform -->

View File

@@ -56,11 +56,14 @@
<ReleaseNotes> <ReleaseNotes>
Vėѓѕіöй __VERSION_NUMBER__ !!! !!! ! Vėѓѕіöй __VERSION_NUMBER__ !!! !!! !
- Ą ωћόĺé ņέш ∑×τзńşĩōиŝ ρâģε τђат šнòωş ωħąт нǻś ъеēñ įηšтǻľĺéδ ĭʼnтο ўбμŗ Ţзřmĭňāŀ !!! !!! !!! !!! !!! !!! !!! !!! - Ŧēгмíйǻŀ шιļł ñσщ řėmėmвзґ τђз ςоńţëηťŝ σƒ ŧћé ẅιⁿδőщ ẅђеή ýóύ ŭš℮ şεššîóŋ řėşτŏѓдτіόŋ. !!! !!! !!! !!! !!! !!! !!! !!! !!!
- €όммаήδ Рдĺēтţĕ пŏẅ şĥŏшś üρ ϊñ ỳоũѓ йαťïνє ļäŋģµаġέ άś ŵєŀľ åś Σиĝℓĭŝђ !!! !!! !!! !!! !!! !!! !!! - Ύоџ ςàⁿ ŋóώ ũşэ múľŧìφľё ƒоʼnťş àт ťħе ѕâmз тìме. !!! !!! !!! !!! !!!
- ∏еẅ VΤ ƒэåŧύґέŝ şűçн ăŝ ѕỳňсĥŗǿйìźėð гēŋďзříⁿğ, ηĕш ćôĺõг şĉћěмєѕ, çóńƒіĝџŗáτїöπ ƒοг qũī¢ķ möűšë ąćŧϊόņŝ ľîķє žøōmίйğ, ǻⁿđ мόřε !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! !!! - Вό×-ðгăшĭиġ ¢ĥаяäςтеřѕ äřę ηоẁ ѓëńđêяεď ẁϊτђ φïжêĺ φėŗƒēςŧΐøй. !!! !!! !!! !!! !!! !!! !
- Ťħέ ĕхφêŕï℮ηĉε ŏƒ ύѕïйġ ǻʼn ÎМË îńšïďê Τєřmíлäļ нαŝ ьēέň ѕιĝήîƒіčäπţŀý ĩмφґθνзđ. !!! !!! !!! !!! !!! !!! !!! !!!
- Ťĥę čöℓοг şçђėmęš ιʼnśΐδê убџѓ ĴŠОИ ƒϊŀε ωĭŀł ʼnθω вз мúçĥ ѕїмρℓёґ. !!! !!! !!! !!! !!! !!! !!
- Á ήũmьéŕ òƒ вµġŝ άřòūñδ ÛҐĿ ħàŋδľįйģ, ðőџъŀε-ŵĭďτђ ŗōẁš, ŀϊπė ẃяąрρΐηğ, âⁿđ мŏř℮ ĥāνě везŋ ƒï×έð. !!! !!! !!! !!! !!! !!! !!! !!! !!! !!!
Ρĺęąŝэ ѕєě õμя ĞĭтΗύв řєĺэдšέŝ рάġě ƒοґ àďđϊтїõлаℓ ðêţǻїłş. !!! !!! !!! !!! !!! !!! Ρļēªšê ŝέė őůг ĜīтĤųъ яëŀεäśēś рдġэ ƒõя ãδðìτϊöňãł δèτâĩĺѕ. !!! !!! !!! !!! !!! !!!
</ReleaseNotes> </ReleaseNotes>
<ScreenshotCaptions> <ScreenshotCaptions>
<!-- Valid length: 200 character limit, up to 9 elements per platform --> <!-- Valid length: 200 character limit, up to 9 elements per platform -->

View File

@@ -56,9 +56,12 @@
<ReleaseNotes> <ReleaseNotes>
Версия __VERSION_NUMBER__ Версия __VERSION_NUMBER__
Мы добавили в пользовательский интерфейс десятки параметров, которые ранее существовали только в JSON-файле, включая новую страницу для настройки макета меню новой вкладки. Терминал теперь будет запоминать содержимое окна при восстановлении сеанса.
Мы переработали управление окнами для повышения надежности. Сообщайте о любых ошибках, которые вы обнаружите с псевдонимом wt.exe Теперь вы можете использовать несколько шрифтов одновременно.
Профили теперь отображают значок, если они были скрыты или ссылаются на программы, которые были удалены. Символы псевдографики теперь отрисовываются с пиксельной точностью.
Значительно улучшена возможность использования IME внутри Терминала.
Цветовые схемы в JSON-файле теперь будут намного проще.
Исправлено несколько ошибок в обработке URL-адресов, строках двойной ширины, переносе строк и т. д.
Дополнительные сведения см. на странице выпусков GitHub. Дополнительные сведения см. на странице выпусков GitHub.
</ReleaseNotes> </ReleaseNotes>

View File

@@ -1,181 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<ProductDescription language="en-us" xmlns="http://schemas.microsoft.com/appx/2012/ProductDescription" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xml:lang="en-us" Release="">
<AppStoreName _locID="App_AppStoreName">
<!-- This is optional. AppStoreName is typically extracted from your package's AppxManifest DisplayName property. -->
<!-- Uncomment (and localize) this Store name if your application package does not contain a localization for the DisplayName in this language. -->
<!-- Leaving this uncommented for a language that your application package DOES contain a DisplayName for will result in a submission failure with the API. -->
<!-- _locComment_text="{MaxLength=200} App AppStoreName" -->
<!-- Windows Terminal -->
</AppStoreName>
<Keywords>
<!-- Valid length: 30 character limit, up to 7 elements -->
<Keyword _locID="App_keyword1">
<!-- _locComment_text="{MaxLength=30} App keyword 1" -->Термінал</Keyword>
<Keyword _locID="App_keyword2">
<!-- _locComment_text="{MaxLength=30} App keyword 2" -->Консоль</Keyword>
<Keyword _locID="App_keyword3">
<!-- _locComment_text="{MaxLength=30} App keyword 3" -->
</Keyword>
<Keyword _locID="App_keyword4">
<!-- _locComment_text="{MaxLength=30} App keyword 4" -->
</Keyword>
<Keyword _locID="App_keyword5">
<!-- _locComment_text="{MaxLength=30} App keyword 5" -->
</Keyword>
<Keyword _locID="App_keyword6">
<!-- _locComment_text="{MaxLength=30} App keyword 6" -->
</Keyword>
<Keyword _locID="App_keyword7">
<!-- _locComment_text="{MaxLength=30} App keyword 7" -->
</Keyword>
</Keywords>
<Description _locID="App_Description">
<!-- _locComment_text="{MaxLength=10000} {Locked=Windows} App Description" -->Термінал Windows - це сучасний, швидкий, ефективний, потужний та продуктивний термінальний застосунок для користувачів інструментів командного рядка та оболонок, таких як командний рядок, PowerShell та WSL. Його основні функції включають кілька вкладок, панелей, підтримку символів Unicode та UTF-8, механізм візуалізації тексту з прискоренням GPU, а також користувацькі теми, стилі та конфігурації.
Це проєкт з відкритим кодом, і ми вітаємо участь спільноти. Щоб взяти участь, будь ласка, відвідайте https://github.com/microsoft/terminal </Description>
<ShortDescription _locID="App_ShortDescription">
<!-- Only used for games. This description appears in the Information section of the Game Hub on Xbox One, and helps customers understand more about your game. -->
<!-- _locComment_text="{MaxLength=500} App ShortDescription" -->
</ShortDescription>
<ShortTitle _locID="App_ShortTitle">
<!-- A shorter version of your product's name. If provided, this shorter name may appear in various places on Xbox One (during installation, in Achievements, etc.) in place of the full title of your product. -->
<!-- _locComment_text="{MaxLength=50} App ShortTitle" -->
</ShortTitle>
<SortTitle _locID="App_SortTitle">
<!-- If your product could be alphabetized in different ways, you can enter another version here. This may help customers find the product more quickly when searching. -->
<!-- _locComment_text="{MaxLength=255} App SortTitle" -->
</SortTitle>
<VoiceTitle _locID="App_VoiceTitle">
<!-- An alternate name for your product that, if provided, may be used in the audio experience on Xbox One when using Kinect or a headset. -->
<!-- _locComment_text="{MaxLength=255} App VoiceTitle" -->
</VoiceTitle>
<DevStudio _locID="App_DevStudio">
<!-- Specify this value if you want to include a "Developed by" field in the listing. (The "Published by" field will list the publisher display name associated with your account, whether or not you provide a devStudio value.) -->
<!-- _locComment_text="{MaxLength=255} App DevStudio" -->
</DevStudio>
<ReleaseNotes _locID="App_ReleaseNotes">
<!-- _locComment_text="{MaxLength=1500} {Locked=__VERSION_NUMBER__}{Locked=wt.exe} App Release Note" -->Версія __VERSION_NUMBER__
- Ми додали десятки налаштувань до інтерфейсу користувача, які раніше існували лише у файлі JSON, включаючи нову сторінку для налаштування макета меню «Нова вкладка»!
- Ми переробили архітектуру керування вікнами для підвищення надійності; будь ласка, повідомляйте про будь-які помилки, з якими ви зіткнулися, за допомогою псевдоніма wt.exe.
- Профілі тепер відображають значок, якщо вони були приховані, або посилаються на програми, які було видалено.
Будь ласка, перегляньте нашу сторінку релізів GitHub для отримання додаткової інформації.
</ReleaseNotes>
<ScreenshotCaptions>
<!-- Valid length: 200 character limit, up to 9 elements per platform -->
<!-- Valid attributes: any of DesktopImage, MobileImage, XboxImage, SurfaceHubImage, and HoloLensImage -->
<Caption DesktopImage="acrylic-emoji.png" _locID="App_caption1">
<!-- _locComment_text="{MaxLength=200} Screenshot caption 1" -->
</Caption>
<Caption DesktopImage="panes.png" _locID="App_caption2">
<!-- _locComment_text="{MaxLength=200} Screenshot caption 2" -->
</Caption>
<Caption DesktopImage="htop.png" _locID="App_caption3">
<!-- _locComment_text="{MaxLength=200} Screenshot caption 3" -->
</Caption>
</ScreenshotCaptions>
<AdditionalAssets>
<!-- Valid elements:-->
<!-- HeroImage414x180, HeroImage846x468, HeroImage558x756, HeroImage414x468, HeroImage558x558, HeroImage2400x1200,-->
<!-- ScreenshotWXGA, ScreenshotHD720, ScreenshotWVGA, Doublewide, Panoramic, Square,-->
<!-- SmallMobileTile, SmallXboxLiveTile, LargeMobileTile, LargeXboxLiveTile, Tile,-->
<!-- DesktopIcon, Icon (use this value for the 1:1 300x300 pixels logo), AchievementIcon,-->
<!-- ChallengePromoIcon, RewardDisplayIcon, Icon150X150, Icon71X71,-->
<!-- BoxArt, BrandedKeyArt, PosterArt, FeaturedPromotionalArt, PromotionalArt16x9, TitledHeroArt-->
<!-- There is no content for any of these elements, just a single attribute called FileName. -->
<PosterArt FileName="Store Poster Art.png" />
<BoxArt FileName="Store Box Art.png" />
<PromotionalArt16x9 FileName="Store Thumbnail.png" />
</AdditionalAssets>
<Trailers>
<!-- Maximum number of trailers permitted: 15 -->
<Trailer FileName="CC0605_CommandLine_Teaser_WEB_MASTER_H264_1080p_23.976_-16LKFS_-3dbTP_ST.mp4">
<Title _locID="App_trailerTitle1">
<!-- _locComment_text="{MaxLength=255} Trailer title 1" -->Новий термінал Windows</Title>
<Images>
<!-- Current maximum of 1 image per trailer permitted. -->
<Image FileName="Store Thumbnail.png">
<!-- _locComment_text="{Locked} Trailer screenshot 1 description" -->
</Image>
</Images>
</Trailer>
</Trailers>
<AppFeatures>
<!-- Valid length: 200 character limit, up to 20 elements -->
<AppFeature _locID="App_feature1">
<!-- _locComment_text="{MaxLength=200} App Feature 1" -->Наявність вкладок</AppFeature>
<AppFeature _locID="App_feature2">
<!-- _locComment_text="{MaxLength=200} App Feature 2" -->Повна підтримка Юнікоду</AppFeature>
<AppFeature _locID="App_feature3">
<!-- _locComment_text="{MaxLength=200} App Feature 3" -->Рендеринг тексту з прискоренням GPU</AppFeature>
<AppFeature _locID="App_feature4">
<!-- _locComment_text="{MaxLength=200} App Feature 4" -->Широкі можливості кастомізації</AppFeature>
<AppFeature _locID="App_feature5">
<!-- _locComment_text="{MaxLength=200} App Feature 5" -->Розділення панелей</AppFeature>
<AppFeature _locID="App_feature6">
<!-- _locComment_text="{MaxLength=200} App Feature 6" -->
</AppFeature>
<AppFeature _locID="App_feature7">
<!-- _locComment_text="{MaxLength=200} App Feature 7" -->
</AppFeature>
<AppFeature _locID="App_feature8">
<!-- _locComment_text="{MaxLength=200} App Feature 8" -->
</AppFeature>
<AppFeature _locID="App_feature9">
<!-- _locComment_text="{MaxLength=200} App Feature 9" -->
</AppFeature>
<AppFeature _locID="App_feature10">
<!-- _locComment_text="{MaxLength=200} App Feature 10" -->
</AppFeature>
<AppFeature _locID="App_feature11">
<!-- _locComment_text="{MaxLength=200} App Feature 11" -->
</AppFeature>
<AppFeature _locID="App_feature12">
<!-- _locComment_text="{MaxLength=200} App Feature 12" -->
</AppFeature>
<AppFeature _locID="App_feature13">
<!-- _locComment_text="{MaxLength=200} App Feature 13" -->
</AppFeature>
<AppFeature _locID="App_feature14">
<!-- _locComment_text="{MaxLength=200} App Feature 14" -->
</AppFeature>
<AppFeature _locID="App_feature15">
<!-- _locComment_text="{MaxLength=200} App Feature 15" -->
</AppFeature>
<AppFeature _locID="App_feature16">
<!-- _locComment_text="{MaxLength=200} App Feature 16" -->
</AppFeature>
<AppFeature _locID="App_feature17">
<!-- _locComment_text="{MaxLength=200} App Feature 17" -->
</AppFeature>
<AppFeature _locID="App_feature18">
<!-- _locComment_text="{MaxLength=200} App Feature 18" -->
</AppFeature>
<AppFeature _locID="App_feature19">
<!-- _locComment_text="{MaxLength=200} App Feature 19" -->
</AppFeature>
<AppFeature _locID="App_feature20">
<!-- _locComment_text="{MaxLength=200} App Feature 20" -->
</AppFeature>
</AppFeatures>
<RecommendedHardware>
<!-- Valid length: 200 character limit, up to 11 elements -->
<Recommendation _locID="App_RecommendedHW1">
<!-- _locComment_text="{MaxLength=200} App Recommended Hardware 1" -->Клавіатура</Recommendation>
</RecommendedHardware>
<MinimumHardware>
<!-- Valid length: 200 character limit, up to 11 elements -->
</MinimumHardware>
<CopyrightAndTrademark _locID="App_CopyrightandTrademark">
<!-- _locComment_text="{MaxLength=200} Copyright and Trademark" -->Права (c) Корпорація Майкрософт</CopyrightAndTrademark>
<AdditionalLicenseTerms _locID="App_AdditionalLicenseTerms">
<!-- _locComment_text="{MaxLength=10000} Additional License Terms" -->
</AdditionalLicenseTerms>
<WebsiteURL _locID="App_WebsiteURL">
<!-- _locComment_text="{MaxLength=2048} WebsiteURL" -->https://github.com/microsoft/terminal</WebsiteURL>
<SupportContactInfo _locID="App_SupportContactInfo">
<!-- _locComment_text="{MaxLength=2048} Support Contact Info" -->https://github.com/microsoft/terminal/issues/new</SupportContactInfo>
<PrivacyPolicyURL _locID="App_PrivacyURL">
<!-- _locComment_text="{MaxLength=2048} Privacy Policy URL" -->https://go.microsoft.com/fwlink/?LinkID=521839</PrivacyPolicyURL>
</ProductDescription>

View File

@@ -56,9 +56,12 @@
<ReleaseNotes> <ReleaseNotes>
Version __VERSION_NUMBER__ Version __VERSION_NUMBER__
- 我们向用户界面添加了许多之前仅存在于 JSON 文件中的设置,包括用于自定义“新建标签页”菜单布局的新页面! - 现在,使用会话还原时,终端将记住窗口的内容。
- 我们已重新架构窗口管理以提高可靠性; 请使用 wt.exe 别名提交您遇到的任何错误 - 现在可以同时使用多种字体。
- 配置文件如果已被隐藏或引用了已卸载的程序,现在会显示一个图标 - 现在以像素为单位呈现框绘图字符
- 在终端内使用输入法的体验已得到显著提升。
- JSON 文件中的配色方案现在要简单得多。
- 已修复有关 URL 处理、双倍行宽、换行等大量 bug。
有关其他详细信息,请参阅我们的 GitHub 发布页面。 有关其他详细信息,请参阅我们的 GitHub 发布页面。
</ReleaseNotes> </ReleaseNotes>

View File

@@ -54,13 +54,16 @@
</DevStudio> </DevStudio>
<ReleaseNotes> <ReleaseNotes>
Version __VERSION_NUMBER__ 版本 __VERSION_NUMBER__
- 我們已在使用者介面中新增數十個曾經僅存在於 JSON 檔案中的設定,包括一個可自訂新索引標籤選單版面配置的新頁面! - 當您使用工作階段還原時,終端機現在會記住視窗的內容。
- 我們已重新架構視窗管理以提升可靠性; 如果您在使用 wt.exe 別名時遇到任何錯誤,請提交錯誤回報 - 現在您可以同時使用多個字型。
- 如果設定檔已隱藏或參照已解除安裝的程式,現在會顯示圖示 - 製表格圖字元現在會以完美像素模式呈現
- 在終端機內使用 IME 的體驗已大幅改善。
- JSON 檔案內的色彩配置現在將變得更簡單了。
- 已修正一些 URL 處理、雙寬度列、換行等相關錯誤。
如需更多詳細資,請參閱我們的 GitHub 發行版本頁面。 如需更多詳細資,請參閱我們的 GitHub 發行頁面。
</ReleaseNotes> </ReleaseNotes>
<ScreenshotCaptions> <ScreenshotCaptions>
<!-- Valid length: 200 character limit, up to 9 elements per platform --> <!-- Valid length: 200 character limit, up to 9 elements per platform -->

View File

@@ -20,7 +20,6 @@
"DisableAutoPackageNameFormatting": false "DisableAutoPackageNameFormatting": false
}, },
"appSubmission": { "appSubmission": {
"appId": "9N0DX20HK701",
"productId": "00013926773940052066", "productId": "00013926773940052066",
"targetPublishMode": "NotSet", "targetPublishMode": "NotSet",
"targetPublishDate": null, "targetPublishDate": null,

View File

@@ -4,7 +4,7 @@
"collection": "microsoft", "collection": "microsoft",
"project": "OS", "project": "OS",
"repo": "os.2020", "repo": "os.2020",
"name": "official/ge_current_directwinpd_deep", "name": "official/rs_we_adept_e4d2",
"workitem": "38106206", "workitem": "38106206",
"CheckinFiles": [ "CheckinFiles": [
{ {

View File

@@ -17,6 +17,7 @@
"PackageContents/WindowsTerminalShellExt.dll", "PackageContents/WindowsTerminalShellExt.dll",
// The rest // The rest
"PackageContents/TerminalAzBridge.exe",
"PackageContents/wt.exe", "PackageContents/wt.exe",
"PackageContents/WindowsTerminal.exe", "PackageContents/WindowsTerminal.exe",
"PackageContents/elevate-shim.exe" "PackageContents/elevate-shim.exe"

View File

@@ -2,24 +2,10 @@
{ {
"MatchedPath": [ "MatchedPath": [
"WpfTerminalControl/net472/Microsoft.Terminal.Wpf.dll", "WpfTerminalControl/net472/Microsoft.Terminal.Wpf.dll",
"WpfTerminalControl/net8.0-windows/Microsoft.Terminal.Wpf.dll" "WpfTerminalControl/net6.0-windows/Microsoft.Terminal.Wpf.dll"
], ],
"SigningInfo": { "SigningInfo": {
"Operations": [ "Operations": [
{
"KeyCode": "CP-233904-SN",
"OperationSetCode": "StrongNameSign",
"ToolName": "sign",
"ToolVersion": "1.0",
"Parameters": []
},
{
"KeyCode": "CP-233904-SN",
"OperationSetCode": "StrongNameVerify",
"ToolName": "sign",
"ToolVersion": "1.0",
"Parameters": []
},
{ {
"KeyCode": "CP-230012", "KeyCode": "CP-230012",
"OperationSetCode": "SigntoolSign", "OperationSetCode": "SigntoolSign",

View File

@@ -14,21 +14,21 @@
<Package <Package
Name="Microsoft.UI.Xaml.2.8" Name="Microsoft.UI.Xaml.2.8"
Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US"
Version="8.2306.22001.0" Version="8.2305.5001.0"
ProcessorArchitecture="x64" ProcessorArchitecture="x64"
Uri="https://github.com/microsoft/microsoft-ui-xaml/releases/download/v2.8.5/Microsoft.UI.Xaml.2.8.x64.appx" /> Uri="https://github.com/microsoft/microsoft-ui-xaml/releases/download/v2.8.4/Microsoft.UI.Xaml.2.8.x64.appx" />
<Package <Package
Name="Microsoft.UI.Xaml.2.8" Name="Microsoft.UI.Xaml.2.8"
Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US"
Version="8.2306.22001.0" Version="8.2305.5001.0"
ProcessorArchitecture="x86" ProcessorArchitecture="x86"
Uri="https://github.com/microsoft/microsoft-ui-xaml/releases/download/v2.8.5/Microsoft.UI.Xaml.2.8.x86.appx" /> Uri="https://github.com/microsoft/microsoft-ui-xaml/releases/download/v2.8.4/Microsoft.UI.Xaml.2.8.x86.appx" />
<Package <Package
Name="Microsoft.UI.Xaml.2.8" Name="Microsoft.UI.Xaml.2.8"
Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US"
Version="8.2306.22001.0" Version="8.2305.5001.0"
ProcessorArchitecture="arm64" ProcessorArchitecture="arm64"
Uri="https://github.com/microsoft/microsoft-ui-xaml/releases/download/v2.8.5/Microsoft.UI.Xaml.2.8.arm64.appx" /> Uri="https://github.com/microsoft/microsoft-ui-xaml/releases/download/v2.8.4/Microsoft.UI.Xaml.2.8.arm64.appx" />
</Dependencies> </Dependencies>
<UpdateSettings> <UpdateSettings>

View File

@@ -1,6 +1,6 @@
{ {
"instanceUrl": "https://microsoft.visualstudio.com", "instanceUrl": "https://microsoft.visualstudio.com",
"projectName": "OS", "projectName": "OS",
"areaPath": "OS\\Windows Client and Services\\WinPD\\DFX-Developer Fundamentals and Experiences\\DEFT\\SHINE\\Terminal", "areaPath": "OS\\Windows Client and Services\\WinPD\\DEEP-Developer Experience, Ecosystem and Partnerships\\SHINE\\Terminal",
"notificationAliases": ["condev@microsoft.com", "duhowett@microsoft.com"] "notificationAliases": ["condev@microsoft.com", "duhowett@microsoft.com"]
} }

View File

@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<packages> <packages>
<package id="Microsoft.Taef" version="10.100.251104001" targetFramework="native" /> <package id="MUXCustomBuildTasks" version="1.0.48" targetFramework="native" />
<package id="Microsoft.Taef" version="10.93.240607003" targetFramework="native" />
<package id="Microsoft.Internal.PGO-Helpers.Cpp" version="0.2.34" targetFramework="native" /> <package id="Microsoft.Internal.PGO-Helpers.Cpp" version="0.2.34" targetFramework="native" />
<package id="Microsoft.Debugging.Tools.PdbStr" version="20220617.1556.0" targetFramework="native" /> <package id="Microsoft.Debugging.Tools.PdbStr" version="20220617.1556.0" targetFramework="native" />
<package id="Microsoft.Debugging.Tools.SrcTool" version="20220617.1556.0" targetFramework="native" /> <package id="Microsoft.Debugging.Tools.SrcTool" version="20220617.1556.0" targetFramework="native" />

View File

@@ -9,7 +9,7 @@
<PropertyGroup> <PropertyGroup>
<!-- Optional, defaults to main. Name of the branch which will be used for calculating branch point. --> <!-- Optional, defaults to main. Name of the branch which will be used for calculating branch point. -->
<PGOBranch>release-1.25</PGOBranch> <PGOBranch>main</PGOBranch>
<!-- Mandatory. Name of the NuGet package which will contain PGO databases for consumption by build system. --> <!-- Mandatory. Name of the NuGet package which will contain PGO databases for consumption by build system. -->
<PGOPackageName>Microsoft.Internal.Windows.Terminal.PGODatabase</PGOPackageName> <PGOPackageName>Microsoft.Internal.Windows.Terminal.PGODatabase</PGOPackageName>

View File

@@ -87,13 +87,6 @@ stages:
buildConfigurations: [Release] buildConfigurations: [Release]
buildEverything: true buildEverything: true
keepAllExpensiveBuildOutputs: false keepAllExpensiveBuildOutputs: false
${{ if eq(parameters.runTests, true) }}:
# Copy the appx files into the bin drop because the LocalTests need them
afterBuildSteps:
- pwsh: |-
$deps = ./build/scripts/Get-DependenciesFromAppxRecipe.ps1 -Path "$(Terminal.BinDir)/TestHostApp/TestHostApp.build.appxrecipe"
$dir = New-Item -Type Directory "$(Terminal.BinDir)/_testDeps"
$deps | Copy-Item -Destination $dir -Verbose
- ${{ if eq(parameters.runTests, true) }}: - ${{ if eq(parameters.runTests, true) }}:
- stage: Test_${{ platform }} - stage: Test_${{ platform }}

View File

@@ -23,7 +23,7 @@ parameters:
default: true default: true
pool: pool:
vmImage: windows-latest vmImage: windows-2019
resources: resources:
repositories: repositories:
@@ -47,12 +47,12 @@ steps:
git config --local core.autocrlf true git config --local core.autocrlf true
displayName: Prepare git submission environment displayName: Prepare git submission environment
- task: MicrosoftTDBuild.tdbuild-task.tdbuild-task.TouchdownBuildTask@5 - task: MicrosoftTDBuild.tdbuild-task.tdbuild-task.TouchdownBuildTask@3
displayName: 'Touchdown Build - 7105, PRODEXT' displayName: 'Touchdown Build - 7105, PRODEXT'
inputs: inputs:
teamId: 7105 teamId: 7105
FederatedIdentityTDBuildServiceConnection: $(TouchdownServiceConnection) TDBuildServiceConnection: $(TouchdownServiceConnection)
authType: FederatedIdentityTDBuild authType: SubjectNameIssuer
resourceFilePath: | resourceFilePath: |
**\en-US\*.resw **\en-US\*.resw
build\StoreSubmission\Stable\PDPs\en-us\PDP.xml build\StoreSubmission\Stable\PDPs\en-us\PDP.xml

View File

@@ -31,7 +31,7 @@ stages:
- template: ./templates-v2/job-build-project.yml - template: ./templates-v2/job-build-project.yml
parameters: parameters:
pool: # This only runs in CI pool: # This only runs in CI
name: SHINE-OSS-L name: SHINE-OSS-L
buildPlatforms: [x64] buildPlatforms: [x64]
buildConfigurations: [Release] buildConfigurations: [Release]
buildEverything: true buildEverything: true

View File

@@ -28,7 +28,7 @@ extends:
official: true official: true
branding: Canary branding: Canary
buildTerminal: true buildTerminal: true
pgoBuildMode: Optimize pgoBuildMode: None # BODGY - OneBranch is on VS 17.10, which is known to be the worst
codeSign: true codeSign: true
signingIdentity: signingIdentity:
serviceName: $(SigningServiceName) serviceName: $(SigningServiceName)
@@ -37,8 +37,6 @@ extends:
akvName: $(SigningAKVName) akvName: $(SigningAKVName)
authCertName: $(SigningAuthCertName) authCertName: $(SigningAuthCertName)
signCertName: $(SigningSignCertName) signCertName: $(SigningSignCertName)
useManagedIdentity: $(SigningUseManagedIdentity)
clientId: $(SigningOriginalClientId)
publishSymbolsToPublic: true publishSymbolsToPublic: true
publishVpackToWindows: false publishVpackToWindows: false
symbolExpiryTime: 15 symbolExpiryTime: 15
@@ -50,7 +48,6 @@ extends:
parameters: parameters:
pool: { type: windows } pool: { type: windows }
variables: variables:
ob_sdl_prefast_enabled: false # This is a collection of powershell scripts
ob_git_checkout: false # This job checks itself out ob_git_checkout: false # This job checks itself out
ob_git_skip_checkout_none: true ob_git_skip_checkout_none: true
ob_outputDirectory: "$(Build.SourcesDirectory)/_none" ob_outputDirectory: "$(Build.SourcesDirectory)/_none"

View File

@@ -53,12 +53,8 @@ parameters:
displayName: "Publish Symbols to MSDL" displayName: "Publish Symbols to MSDL"
type: boolean type: boolean
default: true default: true
- name: createVpack
displayName: "Create a VPack for Windows"
type: boolean
default: false
- name: publishVpackToWindows - name: publishVpackToWindows
displayName: "Publish above VPack to Windows" displayName: "Publish VPack to Windows"
type: boolean type: boolean
default: false default: false
@@ -89,11 +85,8 @@ extends:
akvName: $(SigningAKVName) akvName: $(SigningAKVName)
authCertName: $(SigningAuthCertName) authCertName: $(SigningAuthCertName)
signCertName: $(SigningSignCertName) signCertName: $(SigningSignCertName)
useManagedIdentity: $(SigningUseManagedIdentity)
clientId: $(SigningOriginalClientId)
terminalInternalPackageVersion: ${{ parameters.terminalInternalPackageVersion }} terminalInternalPackageVersion: ${{ parameters.terminalInternalPackageVersion }}
publishSymbolsToPublic: ${{ parameters.publishSymbolsToPublic }} publishSymbolsToPublic: ${{ parameters.publishSymbolsToPublic }}
createVpack: ${{ parameters.createVpack }}
publishVpackToWindows: ${{ parameters.publishVpackToWindows }} publishVpackToWindows: ${{ parameters.publishVpackToWindows }}
symbolPublishingSubscription: $(SymbolPublishingServiceConnection) symbolPublishingSubscription: $(SymbolPublishingServiceConnection)
symbolPublishingProject: $(SymbolPublishingProject) symbolPublishingProject: $(SymbolPublishingProject)

View File

@@ -50,7 +50,6 @@ stages:
buildEverything: true buildEverything: true
pgoBuildMode: Instrument pgoBuildMode: Instrument
artifactStem: -instrumentation artifactStem: -instrumentation
keepAllExpensiveBuildOutputs: false # the ARM64 build agent runs out of memory downloading the artifacts...
- stage: RunPGO - stage: RunPGO
displayName: Run PGO displayName: Run PGO
@@ -75,7 +74,7 @@ stages:
parameters: parameters:
jobName: MergePGD jobName: MergePGD
pool: pool:
vmImage: 'windows-latest' vmImage: 'windows-2022'
buildConfiguration: Release buildConfiguration: Release
buildPlatforms: ${{ parameters.buildPlatforms }} buildPlatforms: ${{ parameters.buildPlatforms }}
artifactStem: -instrumentation artifactStem: -instrumentation
@@ -83,7 +82,7 @@ stages:
- template: ./templates-v2/job-pgo-build-nuget-and-publish.yml - template: ./templates-v2/job-pgo-build-nuget-and-publish.yml
parameters: parameters:
pool: pool:
vmImage: 'windows-latest' vmImage: 'windows-2022'
dependsOn: MergePGD dependsOn: MergePGD
buildConfiguration: Release buildConfiguration: Release
artifactStem: -instrumentation artifactStem: -instrumentation

View File

@@ -46,7 +46,6 @@ jobs:
BuildConfiguration: ${{ config }} BuildConfiguration: ${{ config }}
dependsOn: ${{ parameters.dependsOn }} dependsOn: ${{ parameters.dependsOn }}
variables: variables:
BuildPlatform: Any CPU
OutputBuildPlatform: AnyCPU OutputBuildPlatform: AnyCPU
Terminal.BinDir: $(Build.SourcesDirectory)/bin/$(OutputBuildPlatform)/$(BuildConfiguration) Terminal.BinDir: $(Build.SourcesDirectory)/bin/$(OutputBuildPlatform)/$(BuildConfiguration)
JobOutputDirectory: $(Build.ArtifactStagingDirectory)\nupkg JobOutputDirectory: $(Build.ArtifactStagingDirectory)\nupkg
@@ -76,9 +75,9 @@ jobs:
- template: .\steps-restore-nuget.yml - template: .\steps-restore-nuget.yml
- task: VSBuild@1 - task: VSBuild@1
displayName: Build solution OpenConsole.slnx for WPF Control (Pack) displayName: Build solution OpenConsole.sln for WPF Control (Pack)
inputs: inputs:
solution: 'OpenConsole.slnx' solution: 'OpenConsole.sln'
msbuildArgs: >- msbuildArgs: >-
/p:WindowsTerminalReleaseBuild=true;Version=$(XES_PACKAGEVERSIONNUMBER) /p:WindowsTerminalReleaseBuild=true;Version=$(XES_PACKAGEVERSIONNUMBER)
/p:NoBuild=true /p:NoBuild=true

View File

@@ -71,9 +71,6 @@ parameters:
- name: enableCaching - name: enableCaching
type: boolean type: boolean
default: false default: false
- name: afterBuildSteps
type: stepList
default: []
jobs: jobs:
- job: ${{ parameters.jobName }} - job: ${{ parameters.jobName }}
@@ -133,11 +130,11 @@ jobs:
$SignFragments += "wpfdotnet" $SignFragments += "wpfdotnet"
} }
If ([bool]::Parse("${{ parameters.buildWPF }}")) { If ([bool]::Parse("${{ parameters.buildWPF }}")) {
$BuildTargets += "Terminal\Control\TerminalControl" $BuildTargets += "Terminal\Control\Microsoft_Terminal_Control"
$SignFragments += "wpf" $SignFragments += "wpf"
} }
If ([bool]::Parse("${{ parameters.buildConPTY }}")) { If ([bool]::Parse("${{ parameters.buildConPTY }}")) {
$BuildTargets += "Conhost\Host_EXE;Conhost\winconptydll" $BuildTargets += "Conhost\Host_EXE;Conhost\winconpty_DLL"
$SignFragments += "conpty" $SignFragments += "conpty"
} }
Write-Host "Targets: $($BuildTargets -Join ";")" Write-Host "Targets: $($BuildTargets -Join ";")"
@@ -173,9 +170,9 @@ jobs:
- ${{ parameters.beforeBuildSteps }} - ${{ parameters.beforeBuildSteps }}
- task: VSBuild@1 - task: VSBuild@1
displayName: Build OpenConsole.slnx displayName: Build OpenConsole.sln
inputs: inputs:
solution: 'OpenConsole.slnx' solution: 'OpenConsole.sln'
msbuildArgs: >- msbuildArgs: >-
/p:WindowsTerminalOfficialBuild=true;WindowsTerminalBranding=${{ parameters.branding }};PGOBuildMode=${{ parameters.pgoBuildMode }} /p:WindowsTerminalOfficialBuild=true;WindowsTerminalBranding=${{ parameters.branding }};PGOBuildMode=${{ parameters.pgoBuildMode }}
${{ parameters.additionalBuildOptions }} ${{ parameters.additionalBuildOptions }}
@@ -213,8 +210,6 @@ jobs:
contents: $(Build.SourcesDirectory)/MSBuildCacheLogs/** contents: $(Build.SourcesDirectory)/MSBuildCacheLogs/**
TargetFolder: $(Terminal.BinDir)/MSBuildCacheLogs TargetFolder: $(Terminal.BinDir)/MSBuildCacheLogs
- ${{ parameters.afterBuildSteps }}
# This saves ~2GiB per architecture. We won't need these later. # This saves ~2GiB per architecture. We won't need these later.
# Removes: # Removes:
# - All .lib that do not have an associated .exp (which would indicate that they are import libs) # - All .lib that do not have an associated .exp (which would indicate that they are import libs)

View File

@@ -1,7 +1,7 @@
jobs: jobs:
- job: CodeFormatCheck - job: CodeFormatCheck
displayName: Check Code Format displayName: Check Code Format
pool: { vmImage: windows-latest } pool: { vmImage: windows-2022 }
steps: steps:
- checkout: self - checkout: self

View File

@@ -75,22 +75,10 @@ jobs:
} }
displayName: "Wrangle Unpackaged builds into place, rename" displayName: "Wrangle Unpackaged builds into place, rename"
- task: PowerShell@2 - powershell: |-
displayName: Install Azure Modules from custom PowerShell Gallery Repo Get-PackageProvider -Name NuGet -ForceBootstrap
env: Install-Module -Verbose -AllowClobber -Force Az.Accounts, Az.Storage, Az.Network, Az.Resources, Az.Compute
SYSTEM_ACCESSTOKEN: $(System.AccessToken) displayName: Install Azure Module Dependencies
inputs:
pwsh: false # We are preparing modules for AzureFileCopy, which uses PowerShell 5.1
targetType: inline
script: |-
$MachineToken = $env:SYSTEM_ACCESSTOKEN | ConvertTo-SecureString -AsPlainText -Force
$Credential = [PSCredential]::new("ONEBRANCH_TOKEN", $MachineToken)
$MachineToken = $null
$Feed = "https://pkgs.dev.azure.com/shine-oss/terminal/_packaging/TerminalDependencies%40Local/nuget/v3/index.json"
Register-PSResourceRepository -Name "PSGalleryUpstream" -Uri $Feed -Trusted
Get-PSResourceRepository
Install-PSResource -Name Az.Accounts, Az.Storage, Az.Network, Az.Resources, Az.Compute -Repository "PSGalleryUpstream" -Credential $Credential
- task: AzureFileCopy@6 - task: AzureFileCopy@6
displayName: Publish to Storage Account displayName: Publish to Storage Account

View File

@@ -147,10 +147,6 @@ jobs:
ValidateSignature: true ValidateSignature: true
Verbosity: 'Verbose' Verbosity: 'Verbose'
- pwsh: |-
tar -c -v --format=zip -f "$(JobOutputDirectory)/GroupPolicyTemplates_$(XES_APPXMANIFESTVERSION).zip" -C "$(Build.SourcesDirectory)/policies" *
displayName: Package GPO Templates
- ${{ parameters.afterBuildSteps }} - ${{ parameters.afterBuildSteps }}
- ${{ if eq(parameters.publishArtifacts, true) }}: - ${{ if eq(parameters.publishArtifacts, true) }}:

View File

@@ -26,12 +26,11 @@ jobs:
pgoToolsPath: $(Build.SourcesDirectory)\build\PGO pgoToolsPath: $(Build.SourcesDirectory)\build\PGO
nuspecPath: $(pgoToolsPath)\NuSpecs nuspecPath: $(pgoToolsPath)\NuSpecs
nuspecFilename: PGO.nuspec nuspecFilename: PGO.nuspec
nugetFeed: "https://pkgs.dev.azure.com/shine-oss/terminal/_packaging/TerminalDependencies/nuget/v3/index.json"
steps: steps:
- checkout: self - checkout: self
clean: true clean: true
# It is important that this be 0; otherwise, git will not fetch the branch ref names that the PGO rules require. # It is important that this be 0, otherwise git will not fetch the branch ref names that the PGO rules require.
fetchDepth: 0 fetchDepth: 0
submodules: false submodules: false
persistCredentials: false persistCredentials: false
@@ -46,8 +45,7 @@ jobs:
- task: NuGetAuthenticate@1 - task: NuGetAuthenticate@1
inputs: inputs:
azureDevOpsServiceConnection: 'Terminal Public Artifact Feed' nuGetServiceConnections: 'Terminal Public Artifact Feed'
feedUrl: $(nugetFeed)
# In the Microsoft Azure DevOps tenant, NuGetCommand is ambiguous. # In the Microsoft Azure DevOps tenant, NuGetCommand is ambiguous.
# This should be `task: NuGetCommand@2` # This should be `task: NuGetCommand@2`
@@ -70,7 +68,15 @@ jobs:
artifact: pgo-nupkg-${{ parameters.buildConfiguration }}${{ parameters.artifactStem }} artifact: pgo-nupkg-${{ parameters.buildConfiguration }}${{ parameters.artifactStem }}
displayName: "Publish Pipeline Artifact" displayName: "Publish Pipeline Artifact"
- pwsh: |- - task: 333b11bd-d341-40d9-afcf-b32d5ce6f23b@2
$nupkg = Get-Item "$(Build.ArtifactStagingDirectory)/*.nupkg" displayName: 'NuGet push'
& nuget push -ApiKey az -Source "$(nugetFeed)" "$nupkg" inputs:
displayName: NuGet push command: push
nuGetFeedType: external
packagesToPush: $(Build.ArtifactStagingDirectory)/*.nupkg
# The actual URL and PAT for this feed is configured at
# https://microsoft.visualstudio.com/Dart/_settings/adminservices
# This is the name of that connection
publishFeedCredentials: 'Terminal Public Artifact Feed'
feedsToUse: config
nugetConfigPath: '$(Build.SourcesDirectory)/NuGet.config'

View File

@@ -52,6 +52,11 @@ jobs:
itemPattern: '**/*.pdb' itemPattern: '**/*.pdb'
targetPath: '$(Build.SourcesDirectory)/bin' targetPath: '$(Build.SourcesDirectory)/bin'
- powershell: |-
Get-PackageProvider -Name NuGet -ForceBootstrap
Install-Module -Verbose -AllowClobber -Force Az.Accounts, Az.Storage, Az.Network, Az.Resources, Az.Compute
displayName: Install Azure Module Dependencies
# Transit the Azure token from the Service Connection into a secret variable for the rest of the pipeline to use. # Transit the Azure token from the Service Connection into a secret variable for the rest of the pipeline to use.
- task: AzurePowerShell@5 - task: AzurePowerShell@5
displayName: Generate an Azure Token displayName: Generate an Azure Token
@@ -61,7 +66,7 @@ jobs:
pwsh: true pwsh: true
ScriptType: InlineScript ScriptType: InlineScript
Inline: |- Inline: |-
$AzToken = (Get-AzAccessToken -AsSecureString -ResourceUrl api://30471ccf-0966-45b9-a979-065dbedb24c1).Token | ConvertFrom-SecureString -AsPlainText $AzToken = (Get-AzAccessToken -ResourceUrl api://30471ccf-0966-45b9-a979-065dbedb24c1).Token
Write-Host "##vso[task.setvariable variable=SymbolAccessToken;issecret=true]$AzToken" Write-Host "##vso[task.setvariable variable=SymbolAccessToken;issecret=true]$AzToken"

View File

@@ -45,10 +45,6 @@ jobs:
displayName: Extract the unpackaged build for PGO displayName: Extract the unpackaged build for PGO
- template: steps-ensure-nuget-version.yml - template: steps-ensure-nuget-version.yml
parameters:
${{ if eq(parameters.buildPlatform, 'arm64') }}:
# The ARM64 agents do not seem to have NuGet installed
forceNugetInstallation: true
- powershell: |- - powershell: |-
$Package = 'Microsoft.Internal.Windows.Terminal.TestContent' $Package = 'Microsoft.Internal.Windows.Terminal.TestContent'

View File

@@ -69,3 +69,10 @@ jobs:
artifact: $(JobOutputArtifactName) artifact: $(JobOutputArtifactName)
displayName: 'Publish VPack Manifest to Drop' displayName: 'Publish VPack Manifest to Drop'
- task: PkgESFCIBGit@12
displayName: 'Submit VPack Manifest to Windows'
inputs:
configPath: '$(Build.SourcesDirectory)\build\config\GitCheckin.json'
artifactsDirectory: $(XES_VPACKMANIFESTDIRECTORY)
prTimeOut: 5

View File

@@ -58,24 +58,6 @@ jobs:
filePath: build\scripts\Run-Tests.ps1 filePath: build\scripts\Run-Tests.ps1
arguments: -MatchPattern '*feature.test*.dll' -Platform '$(OutputBuildPlatform)' -Configuration '$(BuildConfiguration)' -LogPath '${{ parameters.testLogPath }}' -Root "$(Terminal.BinDir)" arguments: -MatchPattern '*feature.test*.dll' -Platform '$(OutputBuildPlatform)' -Configuration '$(BuildConfiguration)' -LogPath '${{ parameters.testLogPath }}' -Root "$(Terminal.BinDir)"
# Load-bearing: This needs to be Windows PowerShell, not pwsh, due to Add-AppxPackage not working in pwsh.
- powershell: |-
$deps = Get-ChildItem -Recurse "$(Terminal.BinDir)/_testDeps"
$deps | % {
Write-Host "Installing $($_.FullName)..."
Add-AppxPackage -Path $_.FullName -ErrorAction:Ignore
}
displayName: 'Install LocalTest Dependencies'
- task: PowerShell@2
displayName: 'Run Local Tests'
inputs:
pwsh: true
targetType: filePath
filePath: build\scripts\Run-Tests.ps1
arguments: -MatchPattern '*LocalTests*.dll' -Platform '$(OutputBuildPlatform)' -Configuration '$(BuildConfiguration)' -LogPath '${{ parameters.testLogPath }}' -Root "$(Terminal.BinDir)"
condition: and(succeeded(), ne(variables['PGOBuildMode'], 'Instrument'))
- task: PowerShell@2 - task: PowerShell@2
displayName: 'Convert Test Logs from WTL to xUnit format' displayName: 'Convert Test Logs from WTL to xUnit format'
condition: always() condition: always()

View File

@@ -49,9 +49,6 @@ parameters:
- name: symbolExpiryTime - name: symbolExpiryTime
type: string type: string
default: 36530 # This is the default from PublishSymbols@2 default: 36530 # This is the default from PublishSymbols@2
- name: createVpack
type: boolean
default: false
- name: publishVpackToWindows - name: publishVpackToWindows
type: boolean type: boolean
default: false default: false
@@ -81,9 +78,7 @@ extends:
template: v2/Microsoft.NonOfficial.yml@templates template: v2/Microsoft.NonOfficial.yml@templates
parameters: parameters:
featureFlags: featureFlags:
WindowsHostVersion: WindowsHostVersion: 1ESWindows2022
Version: 2022
Network: R1
platform: platform:
name: 'windows_undocked' name: 'windows_undocked'
product: 'Windows Terminal' product: 'Windows Terminal'
@@ -91,9 +86,6 @@ extends:
enabled: false enabled: false
globalSdl: # https://aka.ms/obpipelines/sdl globalSdl: # https://aka.ms/obpipelines/sdl
enableCheckCFlags: false # CheckCFlags is broken and exploding our builds; to remove, :g/BAD-FLAGS/d enableCheckCFlags: false # CheckCFlags is broken and exploding our builds; to remove, :g/BAD-FLAGS/d
isNativeCode: true
prefast:
enabled: true
asyncSdl: asyncSdl:
enabled: true enabled: true
tsaOptionsFile: 'build/config/tsa.json' tsaOptionsFile: 'build/config/tsa.json'
@@ -121,8 +113,6 @@ extends:
variables: variables:
ob_sdl_checkcflags_enabled: false # BAD-FLAGS ob_sdl_checkcflags_enabled: false # BAD-FLAGS
ob_sdl_xfgcheck_enabled: false # BAD-FLAGS ob_sdl_xfgcheck_enabled: false # BAD-FLAGS
ob_sdl_prefast_runDuring: Build
ob_sdl_checkCompliantCompilerWarnings: true
ob_git_checkout: false # This job checks itself out ob_git_checkout: false # This job checks itself out
ob_git_skip_checkout_none: true ob_git_skip_checkout_none: true
ob_outputDirectory: $(JobOutputDirectory) ob_outputDirectory: $(JobOutputDirectory)
@@ -157,7 +147,6 @@ extends:
variables: variables:
ob_sdl_checkcflags_enabled: false # BAD-FLAGS ob_sdl_checkcflags_enabled: false # BAD-FLAGS
ob_sdl_xfgcheck_enabled: false # BAD-FLAGS ob_sdl_xfgcheck_enabled: false # BAD-FLAGS
ob_sdl_prefast_enabled: false # This is a C# build job
ob_git_checkout: false # This job checks itself out ob_git_checkout: false # This job checks itself out
ob_git_skip_checkout_none: true ob_git_skip_checkout_none: true
ob_outputDirectory: $(JobOutputDirectory) ob_outputDirectory: $(JobOutputDirectory)
@@ -189,14 +178,13 @@ extends:
variables: variables:
ob_sdl_checkcflags_enabled: false # BAD-FLAGS ob_sdl_checkcflags_enabled: false # BAD-FLAGS
ob_sdl_xfgcheck_enabled: false # BAD-FLAGS ob_sdl_xfgcheck_enabled: false # BAD-FLAGS
ob_sdl_prefast_enabled: false # This is a collection of powershell scripts
ob_git_checkout: false # This job checks itself out ob_git_checkout: false # This job checks itself out
ob_git_skip_checkout_none: true ob_git_skip_checkout_none: true
ob_outputDirectory: $(JobOutputDirectory) ob_outputDirectory: $(JobOutputDirectory)
ob_artifactBaseName: $(JobOutputArtifactName) ob_artifactBaseName: $(JobOutputArtifactName)
### This job is also in charge of submitting the vpack to Windows if it's enabled ### This job is also in charge of submitting the vpack to Windows if it's enabled
ob_createvpack_enabled: ${{ and(parameters.buildTerminal, parameters.createVpack) }} ob_createvpack_enabled: ${{ and(parameters.buildTerminal, parameters.publishVpackToWindows) }}
ob_updateOSManifest_enabled: ${{ and(parameters.buildTerminal, parameters.createVpack, parameters.publishVpackToWindows) }} ob_updateOSManifest_enabled: ${{ and(parameters.buildTerminal, parameters.publishVpackToWindows) }}
### If enabled above, these options are in play. ### If enabled above, these options are in play.
ob_createvpack_packagename: 'WindowsTerminal.app' ob_createvpack_packagename: 'WindowsTerminal.app'
ob_createvpack_owneralias: 'conhost@microsoft.com' ob_createvpack_owneralias: 'conhost@microsoft.com'
@@ -210,8 +198,6 @@ extends:
ob_createvpack_taskLogVerbosity: Detailed ob_createvpack_taskLogVerbosity: Detailed
ob_createvpack_verbose: true ob_createvpack_verbose: true
ob_createvpack_vpackdirectory: '$(JobOutputDirectory)\vpack' ob_createvpack_vpackdirectory: '$(JobOutputDirectory)\vpack'
ob_createvpack_versionAs: string
ob_createvpack_version: '$(XES_PACKAGEVERSIONNUMBER)'
ob_updateOSManifest_gitcheckinConfigPath: '$(Build.SourcesDirectory)\build\config\GitCheckin.json' ob_updateOSManifest_gitcheckinConfigPath: '$(Build.SourcesDirectory)\build\config\GitCheckin.json'
# We're skipping the 'fetch' part of the OneBranch rules, but that doesn't mean # We're skipping the 'fetch' part of the OneBranch rules, but that doesn't mean
# that it doesn't expect to have downloaded a manifest directly to some 'destination' # that it doesn't expect to have downloaded a manifest directly to some 'destination'
@@ -234,7 +220,7 @@ extends:
New-Item "$(JobOutputDirectory)/vpack" -Type Directory New-Item "$(JobOutputDirectory)/vpack" -Type Directory
displayName: Make sure the vpack directory exists displayName: Make sure the vpack directory exists
- ${{ if parameters.createVpack }}: - ${{ if parameters.publishVpackToWindows }}:
- pwsh: |- - pwsh: |-
Copy-Item -Verbose -Path "$(MsixBundlePath)" -Destination (Join-Path "$(JobOutputDirectory)/vpack" 'Microsoft.WindowsTerminal_8wekyb3d8bbwe.msixbundle') Copy-Item -Verbose -Path "$(MsixBundlePath)" -Destination (Join-Path "$(JobOutputDirectory)/vpack" 'Microsoft.WindowsTerminal_8wekyb3d8bbwe.msixbundle')
displayName: Stage msixbundle for vpack displayName: Stage msixbundle for vpack
@@ -246,7 +232,6 @@ extends:
variables: variables:
ob_sdl_checkcflags_enabled: false # BAD-FLAGS ob_sdl_checkcflags_enabled: false # BAD-FLAGS
ob_sdl_xfgcheck_enabled: false # BAD-FLAGS ob_sdl_xfgcheck_enabled: false # BAD-FLAGS
ob_sdl_prefast_enabled: false # This is a collection of powershell scripts
ob_git_checkout: false # This job checks itself out ob_git_checkout: false # This job checks itself out
ob_git_skip_checkout_none: true ob_git_skip_checkout_none: true
ob_outputDirectory: $(JobOutputDirectory) ob_outputDirectory: $(JobOutputDirectory)
@@ -265,7 +250,6 @@ extends:
variables: variables:
ob_sdl_checkcflags_enabled: false # BAD-FLAGS ob_sdl_checkcflags_enabled: false # BAD-FLAGS
ob_sdl_xfgcheck_enabled: false # BAD-FLAGS ob_sdl_xfgcheck_enabled: false # BAD-FLAGS
ob_sdl_prefast_enabled: false # This is a collection of powershell scripts
ob_git_checkout: false # This job checks itself out ob_git_checkout: false # This job checks itself out
ob_git_skip_checkout_none: true ob_git_skip_checkout_none: true
ob_outputDirectory: $(JobOutputDirectory) ob_outputDirectory: $(JobOutputDirectory)
@@ -291,7 +275,6 @@ extends:
variables: variables:
ob_sdl_checkcflags_enabled: false # BAD-FLAGS ob_sdl_checkcflags_enabled: false # BAD-FLAGS
ob_sdl_xfgcheck_enabled: false # BAD-FLAGS ob_sdl_xfgcheck_enabled: false # BAD-FLAGS
ob_sdl_prefast_enabled: false # This is a collection of powershell scripts
ob_git_checkout: false # This job checks itself out ob_git_checkout: false # This job checks itself out
ob_git_skip_checkout_none: true ob_git_skip_checkout_none: true
ob_outputDirectory: $(Build.ArtifactStagingDirectory) ob_outputDirectory: $(Build.ArtifactStagingDirectory)

View File

@@ -1,17 +1,5 @@
parameters:
- name: forceNugetInstallation
type: boolean
default: false
steps: steps:
- ${{ if and(ne(parameters.forceNugetInstallation, true), eq(variables['System.CollectionId'], 'cb55739e-4afe-46a3-970f-1b49d8ee7564')) }}: - task: NuGetToolInstaller@1
- pwsh: |- displayName: Use NuGet 6.6.1
Write-Host "Assuming NuGet is already installed..." inputs:
& nuget.exe help versionSpec: 6.6.1
displayName: Assume NuGet is fine
- ${{ else }}:
- task: NuGetToolInstaller@1
displayName: Use NuGet 7.0.1
inputs:
versionSpec: 7.0.1

View File

@@ -19,6 +19,4 @@ steps:
AuthAKVName: ${{ parameters.signingIdentity.akvName }} AuthAKVName: ${{ parameters.signingIdentity.akvName }}
AuthCertName: ${{ parameters.signingIdentity.authCertName }} AuthCertName: ${{ parameters.signingIdentity.authCertName }}
AuthSignCertName: ${{ parameters.signingIdentity.signCertName }} AuthSignCertName: ${{ parameters.signingIdentity.signCertName }}
UseMSIAuthentication: ${{ coalesce(parameters.signingIdentity.useManagedIdentity, 'false') }}
EsrpClientId: ${{ parameters.signingIdentity.clientId }}
${{ insert }}: ${{ parameters.inputs }} ${{ insert }}: ${{ parameters.inputs }}

View File

@@ -19,16 +19,14 @@ steps:
restoreSolution: build/packages.config restoreSolution: build/packages.config
restoreDirectory: '$(Build.SourcesDirectory)\packages' restoreDirectory: '$(Build.SourcesDirectory)\packages'
- task: VSBuild@1 - task: 333b11bd-d341-40d9-afcf-b32d5ce6f23b@2
displayName: Restore NuGet packages for solution displayName: Restore NuGet packages for solution
inputs: inputs:
solution: 'OpenConsole.slnx' command: restore
msbuildArgs: /t:Restore feedsToUse: config
platform: $(BuildPlatform) configPath: NuGet.config
configuration: $(BuildConfiguration) restoreSolution: OpenConsole.sln
msbuildArchitecture: x64 restoreDirectory: '$(Build.SourcesDirectory)\packages'
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
- task: 333b11bd-d341-40d9-afcf-b32d5ce6f23b@2 - task: 333b11bd-d341-40d9-afcf-b32d5ce6f23b@2
displayName: Restore NuGet packages for global nuget displayName: Restore NuGet packages for global nuget

View File

@@ -1,17 +0,0 @@
[CmdletBinding()]
Param(
[Parameter(Mandatory=$true, ValueFromPipeline=$true,
HelpMessage="Path to the .appxrecipe to parse")]
[string]
$Path
)
$Recipe = [xml](Get-Content $Path)
$ResolvedSDKReferences = $Recipe.Project.ItemGroup.ResolvedSDKReference
$ResolvedSDKReferences |
Where-Object Architecture -eq $Recipe.Project.PropertyGroup.PackageArchitecture |
ForEach-Object {
$l = [Uri]::UnescapeDataString($_.AppxLocation)
Get-Item $l
}

View File

@@ -34,7 +34,7 @@ Param(
) )
$filesToRemove = @("*.xml", "*.winmd", "Appx*", "Images/*Tile*", "Images/*Logo*") # Remove from Terminal $filesToRemove = @("*.xml", "*.winmd", "Appx*", "Images/*Tile*", "Images/*Logo*") # Remove from Terminal
$filesToKeep = @() # ... except for these $filesToKeep = @("Microsoft.Terminal.Remoting.winmd") # ... except for these
$filesToCopyFromXaml = @("Microsoft.UI.Xaml.dll", "Microsoft.UI.Xaml") # We don't need the .winmd $filesToCopyFromXaml = @("Microsoft.UI.Xaml.dll", "Microsoft.UI.Xaml") # We don't need the .winmd
$ErrorActionPreference = 'Stop' $ErrorActionPreference = 'Stop'

View File

@@ -1,28 +1,8 @@
$VSInstances = ([xml](& 'C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe' -latest -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -include packages -format xml)) $VSInstances = ([xml](& 'C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe' -latest -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -include packages -format xml))
$VSPackages = $VSInstances.instances.instance.packages.package $VSPackages = $VSInstances.instances.instance.packages.package
$LatestVCPackage = ($VSPackages | ? { $_.id -eq "Microsoft.VisualCpp.Tools.Core" }) $LatestVCPackage = ($VSInstances.instances.instance.packages.package | ? { $_.id -eq "Microsoft.VisualCpp.CRT.Source" })
$LatestVCToolsVersion = $LatestVCPackage.version; $LatestVCToolsVersion = $LatestVCPackage.version;
$VSRoot = (& 'C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe' -latest -requires Microsoft.VisualStudio.Component.VC.Tools.x86.x64 -property 'resolvedInstallationPath')
$VCToolsRoot = Join-Path $VSRoot "VC\Tools\MSVC"
# We have observed a few instances where the VC tools package version actually
# differs from the version on the files themselves. We might as well check
# whether the version we just found _actually exists_ before we use it.
# We'll use whichever highest version exists.
$PackageVCToolPath = Join-Path $VCToolsRoot $LatestVCToolsVersion
If ($Null -Eq (Get-Item $PackageVCToolPath -ErrorAction:Ignore)) {
$VCToolsVersions = Get-ChildItem $VCToolsRoot | ForEach-Object {
[Version]$_.Name
} | Sort -Descending
$LatestActualVCToolsVersion = $VCToolsVersions | Select -First 1
If ([Version]$LatestVCToolsVersion -Ne $LatestActualVCToolsVersion) {
Write-Output "VC Tools Mismatch: Directory = $LatestActualVCToolsVersion, Package = $LatestVCToolsVersion"
$LatestVCToolsVersion = $LatestActualVCToolsVersion.ToString(3)
}
}
Write-Output "Latest VCToolsVersion: $LatestVCToolsVersion" Write-Output "Latest VCToolsVersion: $LatestVCToolsVersion"
Write-Output "Updating VCToolsVersion environment variable for job" Write-Output "Updating VCToolsVersion environment variable for job"
Write-Output "##vso[task.setvariable variable=VCToolsVersion]$LatestVCToolsVersion" Write-Output "##vso[task.setvariable variable=VCToolsVersion]$LatestVCToolsVersion"

View File

@@ -58,7 +58,7 @@ Try {
### Check the activatable class entries for a few DLLs we need. ### Check the activatable class entries for a few DLLs we need.
$inProcServers = $Manifest.Package.Extensions.Extension.InProcessServer.Path $inProcServers = $Manifest.Package.Extensions.Extension.InProcessServer.Path
$RequiredInProcServers = ("TerminalApp.dll", "Microsoft.Terminal.Control.dll", "Microsoft.Terminal.Settings.Editor.dll", "Microsoft.Terminal.Settings.Model.dll", "TerminalConnection.dll") $RequiredInProcServers = ("TerminalApp.dll", "Microsoft.Terminal.Control.dll", "Microsoft.Terminal.Remoting.dll", "Microsoft.Terminal.Settings.Editor.dll", "Microsoft.Terminal.Settings.Model.dll", "TerminalConnection.dll")
Write-Verbose "InProc Servers: $inProcServers" Write-Verbose "InProc Servers: $inProcServers"

View File

@@ -24,14 +24,11 @@
"/doc/specs/", "/doc/specs/",
"/doc/cascadia/", "/doc/cascadia/",
"/doc/user-docs/", "/doc/user-docs/",
"/src/tools/MonarchPeasantSample/",
"/src/tools/MonarchPeasantPackage/",
"/src/tools/ansi-color/", "/src/tools/ansi-color/",
"/src/tools/ColorTool/", "/src/tools/ColorTool/",
"/src/tools/scratch/",
"/src/tools/ConsoleBench/",
"/src/tools/schemes-fragment/",
"/scratch/", "/scratch/",
"/tools/ReleaseEngineering/",
"/policies/",
"Scratch.sln", "Scratch.sln",
], ],
"SuffixFilters": [ "SuffixFilters": [
@@ -49,11 +46,6 @@
".rec", ".rec",
".err", ".err",
"XamlStyler.json", "XamlStyler.json",
".xlsx", ".xlsx"
".vcxproj",
".vcxproj.filters",
".Build.props",
".Build.targets",
"OpenConsole.slnx"
] ]
} }

View File

@@ -3,12 +3,9 @@
<!-- This file is read by XES, which we use in our Release builds. --> <!-- This file is read by XES, which we use in our Release builds. -->
<PropertyGroup Label="Version"> <PropertyGroup Label="Version">
<XesUseOneStoreVersioning>true</XesUseOneStoreVersioning> <XesUseOneStoreVersioning>true</XesUseOneStoreVersioning>
<XesBaseYearForStoreVersion>2026</XesBaseYearForStoreVersion> <XesBaseYearForStoreVersion>2024</XesBaseYearForStoreVersion>
<VersionMajor>1</VersionMajor> <VersionMajor>1</VersionMajor>
<VersionMinor>25</VersionMinor> <VersionMinor>23</VersionMinor>
<VersionInfoProductName>Windows Terminal</VersionInfoProductName> <VersionInfoProductName>Windows Terminal</VersionInfoProductName>
<VersionInfoCulture>1033</VersionInfoCulture>
<!-- The default has a spacing problem -->
<VersionInfoCopyRight>\xa9 Microsoft Corporation. All rights reserved.</VersionInfoCopyRight>
</PropertyGroup> </PropertyGroup>
</Project> </Project>

View File

@@ -7,17 +7,9 @@ Licensed under the MIT license.
#include <ntcsrmsg.h> #include <ntcsrmsg.h>
#ifdef __cplusplus
extern "C" {
#endif
NTSTATUS CsrClientCallServer( NTSTATUS CsrClientCallServer(
PCSR_API_MSG m, PCSR_API_MSG m,
PCSR_CAPTURE_HEADER CaptureBuffer OPTIONAL, PCSR_CAPTURE_HEADER CaptureBuffer OPTIONAL,
ULONG ApiNumber, ULONG ApiNumber,
ULONG ArgLength ULONG ArgLength
); );
#ifdef __cplusplus
}
#endif

Some files were not shown because too many files have changed in this diff Show More