mirror of
https://github.com/neovim/neovim.git
synced 2024-09-17 20:58:20 -04:00
parent
b8f3ef10c9
commit
abb13dde98
84
runtime/compiler/powershell.vim
Normal file
84
runtime/compiler/powershell.vim
Normal file
@ -0,0 +1,84 @@
|
||||
" Vim compiler file
|
||||
" Compiler: powershell
|
||||
" URL: https://github.com/PProvost/vim-ps1
|
||||
" Last Change: 2020 Mar 30
|
||||
|
||||
if exists("current_compiler")
|
||||
finish
|
||||
endif
|
||||
let current_compiler = "powershell"
|
||||
|
||||
if exists(":CompilerSet") != 2 " older Vim always used :setlocal
|
||||
command -nargs=* CompilerSet setlocal <args>
|
||||
endif
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo-=C
|
||||
|
||||
if !exists("g:ps1_makeprg_cmd")
|
||||
if executable('pwsh')
|
||||
" pwsh is the future
|
||||
let g:ps1_makeprg_cmd = 'pwsh'
|
||||
elseif executable('pwsh.exe')
|
||||
let g:ps1_makeprg_cmd = 'pwsh.exe'
|
||||
elseif executable('powershell.exe')
|
||||
let g:ps1_makeprg_cmd = 'powershell.exe'
|
||||
else
|
||||
let g:ps1_makeprg_cmd = ''
|
||||
endif
|
||||
endif
|
||||
|
||||
if !executable(g:ps1_makeprg_cmd)
|
||||
echoerr "To use the powershell compiler, please set g:ps1_makeprg_cmd to the powershell executable!"
|
||||
endif
|
||||
|
||||
" Show CategoryInfo, FullyQualifiedErrorId, etc?
|
||||
let g:ps1_efm_show_error_categories = get(g:, 'ps1_efm_show_error_categories', 0)
|
||||
|
||||
" Use absolute path because powershell requires explicit relative paths
|
||||
" (./file.ps1 is okay, but # expands to file.ps1)
|
||||
let &l:makeprg = g:ps1_makeprg_cmd .' %:p:S'
|
||||
|
||||
" Parse file, line, char from callstacks:
|
||||
" Write-Ouput : The term 'Write-Ouput' is not recognized as the name of a
|
||||
" cmdlet, function, script file, or operable program. Check the spelling
|
||||
" of the name, or if a path was included, verify that the path is correct
|
||||
" and try again.
|
||||
" At C:\script.ps1:11 char:5
|
||||
" + Write-Ouput $content
|
||||
" + ~~~~~~~~~~~
|
||||
" + CategoryInfo : ObjectNotFound: (Write-Ouput:String) [], CommandNotFoundException
|
||||
" + FullyQualifiedErrorId : CommandNotFoundException
|
||||
|
||||
" Showing error in context with underlining.
|
||||
CompilerSet errorformat=%+G+%m
|
||||
" Error summary.
|
||||
CompilerSet errorformat+=%E%*\\S\ :\ %m
|
||||
" Error location.
|
||||
CompilerSet errorformat+=%CAt\ %f:%l\ char:%c
|
||||
" Errors that span multiple lines (may be wrapped to width of terminal).
|
||||
CompilerSet errorformat+=%C%m
|
||||
" Ignore blank/whitespace-only lines.
|
||||
CompilerSet errorformat+=%Z\\s%#
|
||||
|
||||
if g:ps1_efm_show_error_categories
|
||||
CompilerSet errorformat^=%+G\ \ \ \ +\ %.%#\\s%#:\ %m
|
||||
else
|
||||
CompilerSet errorformat^=%-G\ \ \ \ +\ %.%#\\s%#:\ %m
|
||||
endif
|
||||
|
||||
|
||||
" Parse file, line, char from of parse errors:
|
||||
" At C:\script.ps1:22 char:16
|
||||
" + Stop-Process -Name "invalidprocess
|
||||
" + ~~~~~~~~~~~~~~~
|
||||
" The string is missing the terminator: ".
|
||||
" + CategoryInfo : ParserError: (:) [], ParseException
|
||||
" + FullyQualifiedErrorId : TerminatorExpectedAtEndOfString
|
||||
CompilerSet errorformat+=At\ %f:%l\ char:%c
|
||||
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
" vim:set sw=2 sts=2:
|
@ -563,9 +563,11 @@ followed by another Vim command:
|
||||
:function
|
||||
:global
|
||||
:help
|
||||
:helpgrep
|
||||
:lcscope
|
||||
:ldo
|
||||
:lfdo
|
||||
:lhelpgrep
|
||||
:make
|
||||
:normal
|
||||
:perlfile
|
||||
|
@ -1210,13 +1210,13 @@ For versions of Vim where browsing is not supported, the command is executed
|
||||
unmodified.
|
||||
|
||||
*browsefilter*
|
||||
For Windows you can modify the filters that are used in the browse dialog. By
|
||||
setting the g:browsefilter or b:browsefilter variables, you can change the
|
||||
filters globally or locally to the buffer. The variable is set to a string in
|
||||
the format "{filter label}\t{pattern};{pattern}\n" where {filter label} is the
|
||||
text that appears in the "Files of Type" comboBox, and {pattern} is the
|
||||
pattern which filters the filenames. Several patterns can be given, separated
|
||||
by ';'.
|
||||
For MS-Windows you can modify the filters that are used in the browse
|
||||
dialog. By setting the g:browsefilter or b:browsefilter variables, you can
|
||||
change the filters globally or locally to the buffer. The variable is set to
|
||||
a string in the format "{filter label}\t{pattern};{pattern}\n" where {filter
|
||||
label} is the text that appears in the "Files of Type" comboBox, and {pattern}
|
||||
is the pattern which filters the filenames. Several patterns can be given,
|
||||
separated by ';'.
|
||||
|
||||
For example, to have only Vim files in the dialog, you could use the following
|
||||
command: >
|
||||
@ -1294,7 +1294,7 @@ exist, the next-higher scope in the hierarchy applies.
|
||||
*:lch* *:lchdir*
|
||||
:lch[dir][!] Same as |:lcd|.
|
||||
|
||||
*:lcd-*
|
||||
*:lcd-*
|
||||
:lc[d][!] - Change to the previous current directory (before the
|
||||
previous ":lcd {path}" command).
|
||||
|
||||
|
@ -1249,7 +1249,7 @@ the following ways:
|
||||
|
||||
The arguments are optional. Example: >
|
||||
:let F = {-> 'error function'}
|
||||
:echo F()
|
||||
:echo F('ignored')
|
||||
< error function
|
||||
*closure*
|
||||
Lambda expressions can access outer scope variables and arguments. This is
|
||||
@ -4925,7 +4925,7 @@ getwininfo([{winid}]) *getwininfo()*
|
||||
tab pages is returned.
|
||||
|
||||
Each List item is a |Dictionary| with the following entries:
|
||||
botline last displayed buffer line
|
||||
botline last complete displayed buffer line
|
||||
bufnr number of buffer in the window
|
||||
height window height (excluding winbar)
|
||||
loclist 1 if showing a location list
|
||||
|
64
runtime/doc/ft_ps1.txt
Normal file
64
runtime/doc/ft_ps1.txt
Normal file
@ -0,0 +1,64 @@
|
||||
*ps1.txt* A Windows PowerShell syntax plugin for Vim
|
||||
|
||||
Author: Peter Provost <https://www.github.com/PProvost>
|
||||
License: Apache 2.0
|
||||
URL: https://github.com/PProvost/vim-ps1
|
||||
|
||||
INTRODUCTION *ps1-syntax*
|
||||
|
||||
This plugin provides Vim syntax, indent and filetype detection for Windows
|
||||
PowerShell scripts, modules, and XML configuration files.
|
||||
|
||||
|
||||
ABOUT *ps1-about*
|
||||
|
||||
Grab the latest version or report a bug on GitHub:
|
||||
|
||||
https://github.com/PProvost/vim-ps1
|
||||
|
||||
|
||||
FOLDING *ps1-folding*
|
||||
|
||||
The ps1 syntax file provides syntax folding (see |:syn-fold|) for script blocks
|
||||
and digital signatures in scripts.
|
||||
|
||||
When 'foldmethod' is set to "syntax" then function script blocks will be
|
||||
folded unless you use the following in your .vimrc or before opening a script: >
|
||||
|
||||
:let g:ps1_nofold_blocks = 1
|
||||
<
|
||||
Digital signatures in scripts will also be folded unless you use: >
|
||||
|
||||
:let g:ps1_nofold_sig = 1
|
||||
<
|
||||
Note: syntax folding might slow down syntax highlighting significantly,
|
||||
especially for large files.
|
||||
|
||||
|
||||
COMPILER *ps1-compiler*
|
||||
|
||||
The powershell `:compiler` script configures |:make| to execute the script in
|
||||
PowerShell.
|
||||
|
||||
It tries to pick a smart default PowerShell command: `pwsh` if available and
|
||||
`powershell` otherwise, but you can customize the command: >
|
||||
|
||||
:let g:ps1_makeprg_cmd = '/path/to/pwsh'
|
||||
<
|
||||
To configure whether to show the exception type information: >
|
||||
|
||||
:let g:ps1_efm_show_error_categories = 1
|
||||
<
|
||||
|
||||
KEYWORD LOOKUP *ps1-keyword*
|
||||
|
||||
To look up keywords using PowerShell's Get-Help, press the |K| key. For more
|
||||
convenient paging, the pager `less` should be installed, which is included in
|
||||
many Linux distributions and in macOS.
|
||||
|
||||
Many other distributions are available for Windows like
|
||||
https://chocolatey.org/packages/less/. Make sure `less` is in a directory
|
||||
listed in the `PATH` environment variable, which chocolatey above does.
|
||||
|
||||
------------------------------------------------------------------------------
|
||||
vim:ft=help:
|
@ -400,7 +400,7 @@ is suitable for complex input, such as CJK.
|
||||
of the two ways: FrontEnd system and BackEnd system. In the FrontEnd
|
||||
system, input events are snatched by the |IM-server| first, then |IM-server|
|
||||
give the application the result of input. On the other hand, the BackEnd
|
||||
system works reverse order. MS Windows adopt BackEnd system. In X, most of
|
||||
system works reverse order. MS-Windows adopt BackEnd system. In X, most of
|
||||
|IM-server|s adopt FrontEnd system. The demerit of BackEnd system is the
|
||||
large overhead in communication, but it provides safe synchronization with
|
||||
no restrictions on applications.
|
||||
|
@ -3840,7 +3840,7 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
jump between two double quotes.
|
||||
The characters must be separated by a colon.
|
||||
The pairs must be separated by a comma. Example for including '<' and
|
||||
'>' (HTML): >
|
||||
'>' (for HTML): >
|
||||
:set mps+=<:>
|
||||
|
||||
< A more exotic example, to jump between the '=' and ';' in an
|
||||
@ -6832,23 +6832,31 @@ A jump table for the options with a short description can be found at |Q_op|.
|
||||
part specifies what to do for each consecutive use of 'wildchar'. The
|
||||
first part specifies the behavior for the first use of 'wildchar',
|
||||
The second part for the second use, etc.
|
||||
These are the possible values for each part:
|
||||
|
||||
Each part consists of a colon separated list consisting of the
|
||||
following possible values:
|
||||
"" Complete only the first match.
|
||||
"full" Complete the next full match. After the last match,
|
||||
the original string is used and then the first match
|
||||
again.
|
||||
again. Will also start 'wildmenu' if it is enabled.
|
||||
"longest" Complete till longest common string. If this doesn't
|
||||
result in a longer string, use the next part.
|
||||
"longest:full" Like "longest", but also start 'wildmenu' if it is
|
||||
enabled.
|
||||
"list" When more than one match, list all matches.
|
||||
"lastused" When completing buffer names and more than one buffer
|
||||
matches, sort buffers by time last used (other than
|
||||
the current buffer).
|
||||
When there is only a single match, it is fully completed in all cases.
|
||||
|
||||
Examples of useful colon-separated values:
|
||||
"longest:full" Like "longest", but also start 'wildmenu' if it is
|
||||
enabled. Will not complete to the next full match.
|
||||
"list:full" When more than one match, list all matches and
|
||||
complete first match.
|
||||
"list:longest" When more than one match, list all matches and
|
||||
complete till longest common string.
|
||||
"list:lastused" When more than one buffer matches, sort buffers
|
||||
by time last used (other than the current buffer).
|
||||
When there is only a single match, it is fully completed in all cases.
|
||||
"list:lastused" When more than one buffer matches, list all matches
|
||||
and sort buffers by time last used (other than the
|
||||
current buffer).
|
||||
|
||||
Examples: >
|
||||
:set wildmode=full
|
||||
|
@ -42,7 +42,7 @@ blank window. This is what your screen will look like:
|
||||
|~ |
|
||||
|"file.txt" [New file] |
|
||||
+---------------------------------------+
|
||||
('#" is the cursor position.)
|
||||
('#' is the cursor position.)
|
||||
|
||||
The tilde (~) lines indicate lines not in the file. In other words, when Vim
|
||||
runs out of file to display, it displays tilde lines. At the bottom of the
|
||||
|
@ -1,13 +1,13 @@
|
||||
" Vim settings file
|
||||
" Language: Fortran 2008 (and older: Fortran 2003, 95, 90, 77, 66)
|
||||
" Version: (v52) 2020 October 07
|
||||
" Version: (v53) 2021 April 06
|
||||
" Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/>
|
||||
" Usage: For instructions, do :help fortran-plugin from Vim
|
||||
" Credits:
|
||||
" Version 0.1 was created in September 2000 by Ajit Thakkar.
|
||||
" Since then, useful suggestions and contributions have been made, in order, by:
|
||||
" Stefano Zacchiroli, Hendrik Merx, Ben Fritz, David Barnett, Eisuke Kawashima,
|
||||
" and Doug Kearns.
|
||||
" Doug Kearns, and Fritz Reese.
|
||||
|
||||
" Only do these settings when not done yet for this buffer
|
||||
if exists("b:did_ftplugin")
|
||||
@ -66,12 +66,19 @@ endif
|
||||
" Set comments and textwidth according to source type
|
||||
if (b:fortran_fixed_source == 1)
|
||||
setlocal comments=:!,:*,:C
|
||||
" Fixed format requires a textwidth of 72 for code
|
||||
setlocal tw=72
|
||||
" Fixed format requires a textwidth of 72 for code,
|
||||
" but some vendor extensions allow longer lines
|
||||
if exists("fortran_extended_line_length")
|
||||
setlocal tw=132
|
||||
elseif exists("fortran_cardimage_line_length")
|
||||
setlocal tw=80
|
||||
else
|
||||
setlocal tw=72
|
||||
" If you need to add "&" on continued lines so that the code is
|
||||
" compatible with both free and fixed format, then you should do so
|
||||
" in column 73 and uncomment the next line
|
||||
" setlocal tw=73
|
||||
endif
|
||||
else
|
||||
setlocal comments=:!
|
||||
" Free format allows a textwidth of 132
|
||||
|
59
runtime/ftplugin/ps1.vim
Normal file
59
runtime/ftplugin/ps1.vim
Normal file
@ -0,0 +1,59 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Windows PowerShell
|
||||
" URL: https://github.com/PProvost/vim-ps1
|
||||
" Last Change: 2021 Apr 02
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
|
||||
" Don't load another plug-in for this buffer
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal tw=0
|
||||
setlocal commentstring=#%s
|
||||
setlocal formatoptions=tcqro
|
||||
" Enable autocompletion of hyphenated PowerShell commands,
|
||||
" e.g. Get-Content or Get-ADUser
|
||||
setlocal iskeyword+=-
|
||||
|
||||
" Change the browse dialog on Win32 to show mainly PowerShell-related files
|
||||
if has("gui_win32")
|
||||
let b:browsefilter =
|
||||
\ "All PowerShell Files (*.ps1, *.psd1, *.psm1, *.ps1xml)\t*.ps1;*.psd1;*.psm1;*.ps1xml\n" .
|
||||
\ "PowerShell Script Files (*.ps1)\t*.ps1\n" .
|
||||
\ "PowerShell Module Files (*.psd1, *.psm1)\t*.psd1;*.psm1\n" .
|
||||
\ "PowerShell XML Files (*.ps1xml)\t*.ps1xml\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
" Look up keywords by Get-Help:
|
||||
" check for PowerShell Core in Windows, Linux or MacOS
|
||||
if executable('pwsh') | let s:pwsh_cmd = 'pwsh'
|
||||
" on Windows Subsystem for Linux, check for PowerShell Core in Windows
|
||||
elseif exists('$WSLENV') && executable('pwsh.exe') | let s:pwsh_cmd = 'pwsh.exe'
|
||||
" check for PowerShell <= 5.1 in Windows
|
||||
elseif executable('powershell.exe') | let s:pwsh_cmd = 'powershell.exe'
|
||||
endif
|
||||
|
||||
if exists('s:pwsh_cmd')
|
||||
if !has('gui_running') && executable('less') &&
|
||||
\ !(exists('$ConEmuBuild') && &term =~? '^xterm')
|
||||
" For exclusion of ConEmu, see https://github.com/Maximus5/ConEmu/issues/2048
|
||||
command! -buffer -nargs=1 GetHelp silent exe '!' . s:pwsh_cmd . ' -NoLogo -NoProfile -NonInteractive -ExecutionPolicy RemoteSigned -Command Get-Help -Full "<args>" | ' . (has('unix') ? 'LESS= less' : 'less') | redraw!
|
||||
elseif has('terminal')
|
||||
command! -buffer -nargs=1 GetHelp silent exe 'term ' . s:pwsh_cmd . ' -NoLogo -NoProfile -NonInteractive -ExecutionPolicy RemoteSigned -Command Get-Help -Full "<args>"' . (executable('less') ? ' | less' : '')
|
||||
else
|
||||
command! -buffer -nargs=1 GetHelp echo system(s:pwsh_cmd . ' -NoLogo -NoProfile -NonInteractive -ExecutionPolicy RemoteSigned -Command Get-Help -Full <args>')
|
||||
endif
|
||||
endif
|
||||
setlocal keywordprg=:GetHelp
|
||||
|
||||
" Undo the stuff we changed
|
||||
let b:undo_ftplugin = "setlocal tw< cms< fo< iskeyword< keywordprg<" .
|
||||
\ " | unlet! b:browsefilter"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
34
runtime/ftplugin/ps1xml.vim
Normal file
34
runtime/ftplugin/ps1xml.vim
Normal file
@ -0,0 +1,34 @@
|
||||
" Vim filetype plugin file
|
||||
" Language: Windows PowerShell
|
||||
" URL: https://github.com/PProvost/vim-ps1
|
||||
" Last Change: 2021 Apr 02
|
||||
|
||||
" Only do this when not done yet for this buffer
|
||||
if exists("b:did_ftplugin") | finish | endif
|
||||
|
||||
" Don't load another plug-in for this buffer
|
||||
let b:did_ftplugin = 1
|
||||
|
||||
let s:cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
setlocal tw=0
|
||||
setlocal commentstring=#%s
|
||||
setlocal formatoptions=tcqro
|
||||
|
||||
" Change the browse dialog on Win32 to show mainly PowerShell-related files
|
||||
if has("gui_win32")
|
||||
let b:browsefilter =
|
||||
\ "All PowerShell Files (*.ps1, *.psd1, *.psm1, *.ps1xml)\t*.ps1;*.psd1;*.psm1;*.ps1xml\n" .
|
||||
\ "PowerShell Script Files (*.ps1)\t*.ps1\n" .
|
||||
\ "PowerShell Module Files (*.psd1, *.psm1)\t*.psd1;*.psm1\n" .
|
||||
\ "PowerShell XML Files (*.ps1xml)\t*.ps1xml\n" .
|
||||
\ "All Files (*.*)\t*.*\n"
|
||||
endif
|
||||
|
||||
" Undo the stuff we changed
|
||||
let b:undo_ftplugin = "setlocal tw< cms< fo<" .
|
||||
\ " | unlet! b:browsefilter"
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
17
runtime/indent/ps1.vim
Normal file
17
runtime/indent/ps1.vim
Normal file
@ -0,0 +1,17 @@
|
||||
" Vim indent file
|
||||
" Language: Windows PowerShell
|
||||
" URL: https://github.com/PProvost/vim-ps1
|
||||
" Last Change: 2017 Oct 19
|
||||
|
||||
" Only load this indent file when no other was loaded.
|
||||
if exists("b:did_indent")
|
||||
finish
|
||||
endif
|
||||
let b:did_indent = 1
|
||||
|
||||
" smartindent is good enough for powershell
|
||||
setlocal smartindent
|
||||
" disable the indent removal for # marks
|
||||
inoremap <buffer> # X#
|
||||
|
||||
let b:undo_indent = "setl si<"
|
@ -1,6 +1,6 @@
|
||||
" Vim plugin for showing matching parens
|
||||
" Maintainer: Bram Moolenaar <Bram@vim.org>
|
||||
" Last Change: 2020 Jun 18
|
||||
" Last Change: 2021 Apr 07
|
||||
|
||||
" Exit quickly when:
|
||||
" - this plugin was already loaded (or disabled)
|
||||
@ -107,9 +107,10 @@ func s:Highlight_Matching_Pair()
|
||||
" Build an expression that detects whether the current cursor position is
|
||||
" in certain syntax types (string, comment, etc.), for use as
|
||||
" searchpairpos()'s skip argument.
|
||||
" We match "escape" for special items, such as lispEscapeSpecial.
|
||||
" We match "escape" for special items, such as lispEscapeSpecial, and
|
||||
" match "symbol" for lispBarSymbol.
|
||||
let s_skip = '!empty(filter(map(synstack(line("."), col(".")), ''synIDattr(v:val, "name")''), ' .
|
||||
\ '''v:val =~? "string\\|character\\|singlequote\\|escape\\|comment"''))'
|
||||
\ '''v:val =~? "string\\|character\\|singlequote\\|escape\\symbol\\|comment"''))'
|
||||
" If executing the expression determines that the cursor is currently in
|
||||
" one of the syntax types, then we want searchpairpos() to find the pair
|
||||
" within those syntax types (i.e., not skip). Otherwise, the cursor is
|
||||
|
@ -1,6 +1,6 @@
|
||||
" Vim syntax file
|
||||
" Language: Fortran 2008 (and older: Fortran 2003, 95, 90, and 77)
|
||||
" Version: (v103) 2020 October 07
|
||||
" Version: (v104) 2021 April 06
|
||||
" Maintainer: Ajit J. Thakkar <ajit@unb.ca>; <http://www2.unb.ca/~ajit/>
|
||||
" Usage: For instructions, do :help fortran-syntax from Vim
|
||||
" Credits:
|
||||
@ -8,10 +8,10 @@
|
||||
" older Fortran 77 syntax file by Mario Eusebio and Preben Guldberg.
|
||||
" Since then, useful suggestions and contributions have been made, in order, by:
|
||||
" Andrej Panjkov, Bram Moolenaar, Thomas Olsen, Michael Sternberg, Christian Reile,
|
||||
" Walter Dieudonné, Alexander Wagner, Roman Bertle, Charles Rendleman,
|
||||
" Walter Dieudonne, Alexander Wagner, Roman Bertle, Charles Rendleman,
|
||||
" Andrew Griffiths, Joe Krahn, Hendrik Merx, Matt Thompson, Jan Hermann,
|
||||
" Stefano Zaghi, Vishnu V. Krishnan, Judicaël Grasset, Takuma Yoshida,
|
||||
" Eisuke Kawashima, and André Chalella.`
|
||||
" Stefano Zaghi, Vishnu V. Krishnan, Judicael Grasset, Takuma Yoshida,
|
||||
" Eisuke Kawashima, Andre Chalella, and Fritz Reese.
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
@ -360,8 +360,15 @@ syn cluster fortranCommentGroup contains=fortranTodo
|
||||
|
||||
if (b:fortran_fixed_source == 1)
|
||||
if !exists("fortran_have_tabs")
|
||||
"Flag items beyond column 72
|
||||
syn match fortranSerialNumber excludenl "^.\{73,}$"lc=72
|
||||
" Fixed format requires a textwidth of 72 for code,
|
||||
" but some vendor extensions allow longer lines
|
||||
if exists("fortran_extended_line_length")
|
||||
syn match fortranSerialNumber excludenl "^.\{133,}$"lc=132
|
||||
elseif exists("fortran_cardimage_line_length")
|
||||
syn match fortranSerialNumber excludenl "^.\{81,}$"lc=80
|
||||
else
|
||||
syn match fortranSerialNumber excludenl "^.\{73,}$"lc=72
|
||||
endif
|
||||
"Flag left margin errors
|
||||
syn match fortranLabelError "^.\{-,4}[^0-9 ]" contains=fortranTab
|
||||
syn match fortranLabelError "^.\{4}\d\S"
|
||||
|
@ -3,7 +3,7 @@
|
||||
" Maintainer: Andrii Sokolov <andriy145@gmail.com>
|
||||
" Original Author: Manuel M.H. Stol <Manuel.Stol@allieddata.nl>
|
||||
" Former Maintainer: Manuel M.H. Stol <Manuel.Stol@allieddata.nl>
|
||||
" Contributors: Leonard König <leonard.r.koenig@gmail.com> (C string highlighting)
|
||||
" Contributors: Leonard König <leonard.r.koenig@gmail.com> (C string highlighting), Peter Stanhope <dev.rptr@gmail.com> (Add missing 64-bit mode registers)
|
||||
" Last Change: 2017 Jan 23
|
||||
" NASM Home: http://www.nasm.us/
|
||||
|
||||
@ -240,7 +240,8 @@ syn cluster nasmGrpPreProcs contains=nasmMacroDef,@nasmGrpInMacros,@nasmGrpPreCo
|
||||
syn match nasmGen08Register "\<[A-D][HL]\>"
|
||||
syn match nasmGen16Register "\<\([A-D]X\|[DS]I\|[BS]P\)\>"
|
||||
syn match nasmGen32Register "\<E\([A-D]X\|[DS]I\|[BS]P\)\>"
|
||||
syn match nasmGen64Register "\<R\([A-D]X\|[DS]I\|[BS]P\|[89]\|1[0-5]\|[89][WD]\|1[0-5][WD]\)\>"
|
||||
syn match nasmGen64Register "\<R\([A-D]X\|[DS]I\|[BS]P\|[89]\|1[0-5]\|[89][WDB]\|1[0-5][WDB]\)\>"
|
||||
syn match nasmExtRegister "\<\([SB]PL\|[SD]IL\)\>"
|
||||
syn match nasmSegRegister "\<[C-GS]S\>"
|
||||
syn match nasmSpcRegister "\<E\=IP\>"
|
||||
syn match nasmFpuRegister "\<ST\o\>"
|
||||
|
182
runtime/syntax/ps1.vim
Normal file
182
runtime/syntax/ps1.vim
Normal file
@ -0,0 +1,182 @@
|
||||
" Vim syntax file
|
||||
" Language: Windows PowerShell
|
||||
" URL: https://github.com/PProvost/vim-ps1
|
||||
" Last Change: 2020 Nov 24
|
||||
"
|
||||
" The following settings are available for tuning syntax highlighting:
|
||||
" let ps1_nofold_blocks = 1
|
||||
" let ps1_nofold_sig = 1
|
||||
" let ps1_nofold_region = 1
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
" Operators contain dashes
|
||||
setlocal iskeyword+=-
|
||||
|
||||
" PowerShell doesn't care about case
|
||||
syn case ignore
|
||||
|
||||
" Sync-ing method
|
||||
syn sync minlines=100
|
||||
|
||||
" Certain tokens can't appear at the top level of the document
|
||||
syn cluster ps1NotTop contains=@ps1Comment,ps1CDocParam,ps1FunctionDeclaration
|
||||
|
||||
" Comments and special comment words
|
||||
syn keyword ps1CommentTodo TODO FIXME XXX TBD HACK NOTE contained
|
||||
syn match ps1CDocParam /.*/ contained
|
||||
syn match ps1CommentDoc /^\s*\zs\.\w\+\>/ nextgroup=ps1CDocParam contained
|
||||
syn match ps1CommentDoc /#\s*\zs\.\w\+\>/ nextgroup=ps1CDocParam contained
|
||||
syn match ps1Comment /#.*/ contains=ps1CommentTodo,ps1CommentDoc,@Spell
|
||||
syn region ps1Comment start="<#" end="#>" contains=ps1CommentTodo,ps1CommentDoc,@Spell
|
||||
|
||||
" Language keywords and elements
|
||||
syn keyword ps1Conditional if else elseif switch default
|
||||
syn keyword ps1Repeat while for do until break continue foreach in
|
||||
syn match ps1Repeat /\<foreach\>/ nextgroup=ps1Block skipwhite
|
||||
syn match ps1Keyword /\<while\>/ nextgroup=ps1Block skipwhite
|
||||
syn match ps1Keyword /\<where\>/ nextgroup=ps1Block skipwhite
|
||||
|
||||
syn keyword ps1Exception begin process end exit inlinescript parallel sequence
|
||||
syn keyword ps1Keyword try catch finally throw
|
||||
syn keyword ps1Keyword return filter in trap param data dynamicparam
|
||||
syn keyword ps1Constant $true $false $null
|
||||
syn match ps1Constant +\$?+
|
||||
syn match ps1Constant +\$_+
|
||||
syn match ps1Constant +\$\$+
|
||||
syn match ps1Constant +\$^+
|
||||
|
||||
" Keywords reserved for future use
|
||||
syn keyword ps1Keyword class define from using var
|
||||
|
||||
" Function declarations
|
||||
syn keyword ps1Keyword function nextgroup=ps1Function skipwhite
|
||||
syn keyword ps1Keyword filter nextgroup=ps1Function skipwhite
|
||||
syn keyword ps1Keyword workflow nextgroup=ps1Function skipwhite
|
||||
syn keyword ps1Keyword configuration nextgroup=ps1Function skipwhite
|
||||
syn keyword ps1Keyword class nextgroup=ps1Function skipwhite
|
||||
syn keyword ps1Keyword enum nextgroup=ps1Function skipwhite
|
||||
|
||||
" Function declarations and invocations
|
||||
syn match ps1Cmdlet /\v(add|clear|close|copy|enter|exit|find|format|get|hide|join|lock|move|new|open|optimize|pop|push|redo|remove|rename|reset|search|select|Set|show|skip|split|step|switch|undo|unlock|watch)(-\w+)+/ contained
|
||||
syn match ps1Cmdlet /\v(connect|disconnect|read|receive|send|write)(-\w+)+/ contained
|
||||
syn match ps1Cmdlet /\v(backup|checkpoint|compare|compress|convert|convertfrom|convertto|dismount|edit|expand|export|group|import|initialize|limit|merge|mount|out|publish|restore|save|sync|unpublish|update)(-\w+)+/ contained
|
||||
syn match ps1Cmdlet /\v(debug|measure|ping|repair|resolve|test|trace)(-\w+)+/ contained
|
||||
syn match ps1Cmdlet /\v(approve|assert|build|complete|confirm|deny|deploy|disable|enable|install|invoke|register|request|restart|resume|start|stop|submit|suspend|uninstall|unregister|wait)(-\w+)+/ contained
|
||||
syn match ps1Cmdlet /\v(block|grant|protect|revoke|unblock|unprotect)(-\w+)+/ contained
|
||||
syn match ps1Cmdlet /\v(use)(-\w+)+/ contained
|
||||
|
||||
" Other functions
|
||||
syn match ps1Function /\w\+\(-\w\+\)\+/ contains=ps1Cmdlet
|
||||
|
||||
" Type declarations
|
||||
syn match ps1Type /\[[a-z_][a-z0-9_.,\[\]]\+\]/
|
||||
|
||||
" Variable references
|
||||
syn match ps1ScopeModifier /\(global:\|local:\|private:\|script:\)/ contained
|
||||
syn match ps1Variable /\$\w\+\(:\w\+\)\?/ contains=ps1ScopeModifier
|
||||
syn match ps1Variable /\${\w\+\(:\?[[:alnum:]_()]\+\)\?}/ contains=ps1ScopeModifier
|
||||
|
||||
" Operators
|
||||
syn keyword ps1Operator -eq -ne -ge -gt -lt -le -like -notlike -match -notmatch -replace -split -contains -notcontains
|
||||
syn keyword ps1Operator -ieq -ine -ige -igt -ile -ilt -ilike -inotlike -imatch -inotmatch -ireplace -isplit -icontains -inotcontains
|
||||
syn keyword ps1Operator -ceq -cne -cge -cgt -clt -cle -clike -cnotlike -cmatch -cnotmatch -creplace -csplit -ccontains -cnotcontains
|
||||
syn keyword ps1Operator -in -notin
|
||||
syn keyword ps1Operator -is -isnot -as -join
|
||||
syn keyword ps1Operator -and -or -not -xor -band -bor -bnot -bxor
|
||||
syn keyword ps1Operator -f
|
||||
syn match ps1Operator /!/
|
||||
syn match ps1Operator /=/
|
||||
syn match ps1Operator /+=/
|
||||
syn match ps1Operator /-=/
|
||||
syn match ps1Operator /\*=/
|
||||
syn match ps1Operator /\/=/
|
||||
syn match ps1Operator /%=/
|
||||
syn match ps1Operator /+/
|
||||
syn match ps1Operator /-\(\s\|\d\|\.\|\$\|(\)\@=/
|
||||
syn match ps1Operator /\*/
|
||||
syn match ps1Operator /\//
|
||||
syn match ps1Operator /|/
|
||||
syn match ps1Operator /%/
|
||||
syn match ps1Operator /&/
|
||||
syn match ps1Operator /::/
|
||||
syn match ps1Operator /,/
|
||||
syn match ps1Operator /\(^\|\s\)\@<=\. \@=/
|
||||
|
||||
" Regular Strings
|
||||
" These aren't precisely correct and could use some work
|
||||
syn region ps1String start=/"/ skip=/`"/ end=/"/ contains=@ps1StringSpecial,@Spell
|
||||
syn region ps1String start=/'/ skip=/''/ end=/'/
|
||||
|
||||
" Here-Strings
|
||||
syn region ps1String start=/@"$/ end=/^"@/ contains=@ps1StringSpecial,@Spell
|
||||
syn region ps1String start=/@'$/ end=/^'@/
|
||||
|
||||
" Interpolation
|
||||
syn match ps1Escape /`./
|
||||
syn region ps1Interpolation matchgroup=ps1InterpolationDelimiter start="$(" end=")" contained contains=ALLBUT,@ps1NotTop
|
||||
syn region ps1NestedParentheses start="(" skip="\\\\\|\\)" matchgroup=ps1Interpolation end=")" transparent contained
|
||||
syn cluster ps1StringSpecial contains=ps1Escape,ps1Interpolation,ps1Variable,ps1Boolean,ps1Constant,ps1BuiltIn,@Spell
|
||||
|
||||
" Numbers
|
||||
syn match ps1Number "\(\<\|-\)\@<=\(0[xX]\x\+\|\d\+\)\([KMGTP][B]\)\=\(\>\|-\)\@="
|
||||
syn match ps1Number "\(\(\<\|-\)\@<=\d\+\.\d*\|\.\d\+\)\([eE][-+]\=\d\+\)\=[dD]\="
|
||||
syn match ps1Number "\<\d\+[eE][-+]\=\d\+[dD]\=\>"
|
||||
syn match ps1Number "\<\d\+\([eE][-+]\=\d\+\)\=[dD]\>"
|
||||
|
||||
" Constants
|
||||
syn match ps1Boolean "$\%(true\|false\)\>"
|
||||
syn match ps1Constant /\$null\>/
|
||||
syn match ps1BuiltIn "$^\|$?\|$_\|$\$"
|
||||
syn match ps1BuiltIn "$\%(args\|error\|foreach\|home\|input\)\>"
|
||||
syn match ps1BuiltIn "$\%(match\(es\)\?\|myinvocation\|host\|lastexitcode\)\>"
|
||||
syn match ps1BuiltIn "$\%(ofs\|shellid\|stacktrace\)\>"
|
||||
|
||||
" Named Switch
|
||||
syn match ps1Label /\s-\w\+/
|
||||
|
||||
" Folding blocks
|
||||
if !exists('g:ps1_nofold_blocks')
|
||||
syn region ps1Block start=/{/ end=/}/ transparent fold
|
||||
endif
|
||||
|
||||
if !exists('g:ps1_nofold_region')
|
||||
syn region ps1Region start=/#region/ end=/#endregion/ transparent fold keepend extend
|
||||
endif
|
||||
|
||||
if !exists('g:ps1_nofold_sig')
|
||||
syn region ps1Signature start=/# SIG # Begin signature block/ end=/# SIG # End signature block/ transparent fold
|
||||
endif
|
||||
|
||||
" Setup default color highlighting
|
||||
hi def link ps1Number Number
|
||||
hi def link ps1Block Block
|
||||
hi def link ps1Region Region
|
||||
hi def link ps1Exception Exception
|
||||
hi def link ps1Constant Constant
|
||||
hi def link ps1String String
|
||||
hi def link ps1Escape SpecialChar
|
||||
hi def link ps1InterpolationDelimiter Delimiter
|
||||
hi def link ps1Conditional Conditional
|
||||
hi def link ps1Cmdlet Function
|
||||
hi def link ps1Function Identifier
|
||||
hi def link ps1Variable Identifier
|
||||
hi def link ps1Boolean Boolean
|
||||
hi def link ps1Constant Constant
|
||||
hi def link ps1BuiltIn StorageClass
|
||||
hi def link ps1Type Type
|
||||
hi def link ps1ScopeModifier StorageClass
|
||||
hi def link ps1Comment Comment
|
||||
hi def link ps1CommentTodo Todo
|
||||
hi def link ps1CommentDoc Tag
|
||||
hi def link ps1CDocParam Identifier
|
||||
hi def link ps1Operator Operator
|
||||
hi def link ps1Repeat Repeat
|
||||
hi def link ps1RepeatAndCmdlet Repeat
|
||||
hi def link ps1Keyword Keyword
|
||||
hi def link ps1KeywordAndCmdlet Keyword
|
||||
hi def link ps1Label Label
|
||||
|
||||
let b:current_syntax = "ps1"
|
51
runtime/syntax/ps1xml.vim
Normal file
51
runtime/syntax/ps1xml.vim
Normal file
@ -0,0 +1,51 @@
|
||||
" Vim syntax file
|
||||
" Language: Windows PowerShell
|
||||
" URL: https://github.com/PProvost/vim-ps1
|
||||
" Last Change: 2013 Jun 24
|
||||
|
||||
if exists("b:current_syntax")
|
||||
finish
|
||||
endif
|
||||
|
||||
let s:ps1xml_cpo_save = &cpo
|
||||
set cpo&vim
|
||||
|
||||
doau syntax xml
|
||||
unlet b:current_syntax
|
||||
|
||||
syn case ignore
|
||||
syn include @ps1xmlScriptBlock <sfile>:p:h/ps1.vim
|
||||
unlet b:current_syntax
|
||||
|
||||
syn region ps1xmlScriptBlock
|
||||
\ matchgroup=xmlTag start="<Script>"
|
||||
\ matchgroup=xmlEndTag end="</Script>"
|
||||
\ fold
|
||||
\ contains=@ps1xmlScriptBlock
|
||||
\ keepend
|
||||
syn region ps1xmlScriptBlock
|
||||
\ matchgroup=xmlTag start="<ScriptBlock>"
|
||||
\ matchgroup=xmlEndTag end="</ScriptBlock>"
|
||||
\ fold
|
||||
\ contains=@ps1xmlScriptBlock
|
||||
\ keepend
|
||||
syn region ps1xmlScriptBlock
|
||||
\ matchgroup=xmlTag start="<GetScriptBlock>"
|
||||
\ matchgroup=xmlEndTag end="</GetScriptBlock>"
|
||||
\ fold
|
||||
\ contains=@ps1xmlScriptBlock
|
||||
\ keepend
|
||||
syn region ps1xmlScriptBlock
|
||||
\ matchgroup=xmlTag start="<SetScriptBlock>"
|
||||
\ matchgroup=xmlEndTag end="</SetScriptBlock>"
|
||||
\ fold
|
||||
\ contains=@ps1xmlScriptBlock
|
||||
\ keepend
|
||||
|
||||
syn cluster xmlRegionHook add=ps1xmlScriptBlock
|
||||
|
||||
let b:current_syntax = "ps1xml"
|
||||
|
||||
let &cpo = s:ps1xml_cpo_save
|
||||
unlet s:ps1xml_cpo_save
|
||||
|
@ -2649,7 +2649,7 @@ msgstr "-T <term>\tR
|
||||
|
||||
msgid "--not-a-term\t\tSkip warning for input/output not being a terminal"
|
||||
msgstr ""
|
||||
"--no-a-term\t\tAucun avertissement si l'entrée/sortie n'est pas un terminal"
|
||||
"--not-a-term\t\tAucun avertissement si l'entrée/sortie n'est pas un terminal"
|
||||
|
||||
msgid "--ttyfail\t\tExit if input or output is not a terminal"
|
||||
msgstr "--ttyfail\t\tQuitte si l'entrée ou la sortie ne sont pas un terminal"
|
||||
|
Loading…
Reference in New Issue
Block a user