forked from PProvost/vim-ps1
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
0 parents
commit 6c0f3a5
Showing
4 changed files
with
159 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,9 @@ | ||
*ps1.txt* A Windows PowerShell syntax plugin for Vim | ||
|
||
Author: Peter Provost <http://www.github.com/PProvost> | ||
License: Apache 2.0 | ||
|
||
OVERVIEW | ||
|
||
This plugin provides Vim syntax, indent and filetype detection for Windows | ||
PowerShell. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
" Vim filetype plugin file | ||
" Language: Windows PowerShell | ||
" Maintainer: Peter Provost <peter@provost.org> | ||
" Version: 1.0 | ||
" | ||
" $LastChangedDate $ | ||
" $Rev $ | ||
|
||
" 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 | ||
|
||
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 = "PowerShell Files (*.ps1)\t*.ps1\n" . | ||
\ "All Files (*.*)\t*.*\n" | ||
endif | ||
|
||
" Undo the stuff we changed | ||
let b:undo_ftplugin = "setlocal tw< cms< fo<" . | ||
\ " | unlet! b:browsefilter" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
" Vim indent file | ||
" Language: Windows PowerShell | ||
" Maintainer: Peter Provost <peter@provost.org> | ||
" Version: 1.0 | ||
" | ||
" $LastChangedDate $ | ||
" $Rev $ | ||
|
||
" Only load this indent file when no other was loaded. | ||
if exists("b:did_indent") | ||
finish | ||
endif | ||
let b:did_indent = 1 | ||
|
||
" PS indenting is like indenting C | ||
setlocal cindent cinoptions& cinoptions+=+0 | ||
|
||
let b:undo_indent = "setl cin<" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,105 @@ | ||
" Vim syntax file | ||
" Language: Windows PowerShell | ||
" Maintainer: Peter Provost <peter@provost.org> | ||
" Version: 2.7 | ||
" Url: http://www.vim.org/scripts/script.php?script_id=1327 | ||
" | ||
" $LastChangedDate: 2011-12-17 14:40:44 -0700 (Sat, 17 Dec 2011) $ | ||
" $Rev: 405 $ | ||
" | ||
" Contributions by: | ||
" Jared Parsons <jaredp@beanseed.org> | ||
" Heath Stewart <heaths@microsoft.com> | ||
|
||
" Compatible VIM syntax file start | ||
if version < 600 | ||
syntax clear | ||
elseif exists("b:current_syntax") | ||
finish | ||
endif | ||
|
||
" PowerShell doesn't care about case | ||
syn case ignore | ||
|
||
" Sync-ing method | ||
syn sync minlines=100 | ||
|
||
" Comments and special comment words | ||
syn keyword ps1CommentTodo TODO FIXME XXX TBD HACK contained | ||
syn match ps1Comment /#.*/ contains=ps1CommentTodo | ||
|
||
" Language keywords and elements | ||
syn keyword ps1Conditional if else elseif switch | ||
syn keyword ps1Repeat while default for do until break continue | ||
syn match ps1Repeat /\<foreach\>/ nextgroup=ps1Cmdlet | ||
syn keyword ps1Keyword return filter in trap throw param begin process end | ||
syn keyword ps1Keyword try catch finally | ||
syn match ps1Keyword /\<while\>/ nextgroup=ps1Cmdlet | ||
|
||
" Functions and Cmdlets | ||
syn match ps1Cmdlet /\w\+-\w\+/ | ||
syn keyword ps1Keyword function nextgroup=ps1Function skipwhite | ||
syn match ps1Function /\w\+-*\w*/ contained | ||
|
||
" Type declarations | ||
syn match ps1Type /\[[a-z0-9_:.]\+\(\[\]\)\?\]/ | ||
syn match ps1StandaloneType /[a-z0-9_.]\+/ contained | ||
syn keyword ps1Scope global local private script contained | ||
|
||
" Variables and other user defined items | ||
syn match ps1Variable /\$\w\+/ | ||
syn match ps1Variable /\${\w\+:\\\w\+}/ | ||
syn match ps1ScopedVariable /\$\w\+:\w\+/ contains=ps1Scope | ||
syn match ps1VariableName /\w\+/ contained | ||
|
||
" Operators all start w/ dash | ||
syn match ps1OperatorStart /-c\?/ nextgroup=ps1Operator | ||
syn keyword ps1Operator eq ne ge gt lt le like notlike match notmatch replace /contains/ notcontains contained | ||
syn keyword ps1Operator ieq ine ige igt ile ilt ilike inotlike imatch inotmatch ireplace icontains inotcontains contained | ||
syn keyword ps1Operator ceq cne cge cgt clt cle clike cnotlike cmatch cnotmatch creplace ccontains cnotcontains contained | ||
syn keyword ps1Operator is isnot as | ||
syn keyword ps1Operator and or band bor not | ||
syn keyword ps1Operator f | ||
|
||
" Regular Strings | ||
syn region ps1String start=/"/ skip=/`"/ end=/"/ | ||
syn region ps1String start=/'/ end=/'/ | ||
|
||
" Here-Strings | ||
syn region ps1String start=/@"$/ end=/^"@$/ | ||
syn region ps1String start=/@'$/ end=/^'@$/ | ||
|
||
" Numbers | ||
syn match ps1Number /\<[0-9]\+/ | ||
|
||
" Setup default color highlighting | ||
if version >= 508 || !exists("did_ps1_syn_inits") | ||
if version < 508 | ||
let did_ps1_syn_inits = 1 | ||
command -nargs=+ HiLink hi link <args> | ||
else | ||
command -nargs=+ HiLink hi def link <args> | ||
endif | ||
|
||
HiLink ps1String String | ||
HiLink ps1Conditional Conditional | ||
HiLink ps1Function Function | ||
HiLink ps1Variable Identifier | ||
HiLink ps1ScopedVariable Identifier | ||
HiLink ps1VariableName Identifier | ||
HiLink ps1Type Type | ||
HiLink ps1Scope Type | ||
HiLink ps1StandaloneType Type | ||
HiLink ps1Number Number | ||
HiLink ps1Comment Comment | ||
HiLink ps1CommentTodo Todo | ||
HiLink ps1Operator Operator | ||
HiLink ps1Repeat Repeat | ||
HiLink ps1RepeatAndCmdlet Repeat | ||
HiLink ps1Keyword Keyword | ||
HiLink ps1KeywordAndCmdlet Keyword | ||
HiLink ps1Cmdlet Statement | ||
delcommand HiLink | ||
endif | ||
|
||
let b:current_syntax = "powershell" |