-
Notifications
You must be signed in to change notification settings - Fork 297
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
Showing
39 changed files
with
2,292 additions
and
3,432 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
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 |
---|---|---|
|
@@ -21,6 +21,19 @@ if exists('s:current_syntax_save') | |
unlet s:current_syntax_save | ||
endif | ||
|
||
endif | ||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'glsl') == -1 | ||
|
||
" Language: OpenGL Shading Language | ||
" Maintainer: Sergey Tikhomirov <[email protected]> | ||
|
||
syn include @GLSL syntax/glsl.vim | ||
syn region ShaderScript | ||
\ start="<script [^>]*type=\('\|\"\)x-shader/x-\(vertex\|fragment\)\('\|\"\)[^>]*>" | ||
\ keepend | ||
\ end="</script>"me=s-1 | ||
\ contains=@GLSL,htmlScriptTag,@htmlPreproc | ||
|
||
endif | ||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'html5') == -1 | ||
|
||
|
This file was deleted.
Oops, something went wrong.
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,71 @@ | ||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'fish') == -1 | ||
|
||
function! fish#Indent() | ||
let l:shiftwidth = shiftwidth() | ||
let l:prevlnum = prevnonblank(v:lnum - 1) | ||
if l:prevlnum ==# 0 | ||
return 0 | ||
endif | ||
let l:indent = 0 | ||
let l:prevline = getline(l:prevlnum) | ||
if l:prevline =~# '\v^\s*switch>' | ||
let l:indent = l:shiftwidth * 2 | ||
elseif l:prevline =~# '\v^\s*%(begin|if|else|while|for|function|case)>' | ||
let l:indent = l:shiftwidth | ||
endif | ||
let l:line = getline(v:lnum) | ||
if l:line =~# '\v^\s*end>' | ||
return indent(v:lnum) - (l:indent ==# 0 ? l:shiftwidth : l:indent) | ||
elseif l:line =~# '\v^\s*%(case|else)>' | ||
return indent(v:lnum) - l:shiftwidth | ||
endif | ||
return indent(l:prevlnum) + l:indent | ||
endfunction | ||
|
||
function! fish#Format() | ||
if mode() =~# '\v^%(i|R)$' | ||
return 1 | ||
else | ||
let l:command = v:lnum.','.(v:lnum+v:count-1).'!fish_indent' | ||
echo l:command | ||
execute l:command | ||
endif | ||
endfunction | ||
|
||
function! fish#Fold() | ||
let l:line = getline(v:lnum) | ||
if l:line =~# '\v^\s*%(begin|if|while|for|function|switch)>' | ||
return 'a1' | ||
elseif l:line =~# '\v^\s*end>' | ||
return 's1' | ||
else | ||
return '=' | ||
end | ||
endfunction | ||
|
||
function! fish#Complete(findstart, base) | ||
if a:findstart | ||
return getline('.') =~# '\v^\s*$' ? -1 : 0 | ||
else | ||
if empty(a:base) | ||
return [] | ||
endif | ||
let l:results = [] | ||
let l:completions = | ||
\ system('fish -c "complete -C'.shellescape(a:base).'"') | ||
let l:cmd = substitute(a:base, '\v\S+$', '', '') | ||
for l:line in split(l:completions, '\n') | ||
let l:tokens = split(l:line, '\t') | ||
call add(l:results, {'word': l:cmd.l:tokens[0], | ||
\'abbr': l:tokens[0], | ||
\'menu': get(l:tokens, 1, '')}) | ||
endfor | ||
return l:results | ||
endif | ||
endfunction | ||
|
||
function! fish#errorformat() | ||
return '%Afish: %m,%-G%*\\ ^,%-Z%f (line %l):%s' | ||
endfunction | ||
|
||
endif |
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
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,11 @@ | ||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'fish') == -1 | ||
|
||
if exists('current_compiler') | ||
finish | ||
endif | ||
let current_compiler = 'fish' | ||
|
||
CompilerSet makeprg=fish\ --no-execute\ % | ||
execute 'CompilerSet errorformat='.escape(fish#errorformat(), ' ') | ||
|
||
endif |
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 |
---|---|---|
|
@@ -242,22 +242,77 @@ augroup END | |
|
||
augroup filetypedetect | ||
" fish:dag/vim-fish | ||
autocmd BufRead,BufNewFile *.fish setfiletype fish | ||
|
||
" Detect fish scripts by the shebang line. | ||
autocmd BufRead * | ||
\ if getline(1) =~# '\v^#!%(\f*/|/usr/bin/env\s*<)fish>' | | ||
\ setlocal filetype=fish | | ||
\ endif | ||
|
||
" Move cursor to first empty line when using funced. | ||
autocmd BufRead fish_funced_*_*.fish call search('^$') | ||
|
||
" Fish histories are YAML documents. | ||
autocmd BufRead,BufNewFile ~/.config/fish/fish_{read_,}history setfiletype yaml | ||
|
||
" Universal variable storages should not be hand edited. | ||
autocmd BufRead,BufNewFile ~/.config/fish/fishd.* setlocal readonly | ||
|
||
" Mimic `funced` when manually creating functions. | ||
autocmd BufNewFile ~/.config/fish/functions/*.fish | ||
\ call append(0, ['function '.expand('%:t:r'), | ||
\'', | ||
\'end']) | | ||
\ 2 | ||
augroup END | ||
|
||
augroup filetypedetect | ||
" fsharp:fsharp/vim-fsharp:_BASIC | ||
" F#, fsharp | ||
autocmd BufNewFile,BufRead *.fs,*.fsi,*.fsx set filetype=fsharp | ||
augroup END | ||
|
||
augroup filetypedetect | ||
" git:tpope/vim-git | ||
" Git | ||
autocmd BufNewFile,BufRead *.git/{,modules/**/,worktrees/*/}{COMMIT_EDIT,TAG_EDIT,MERGE_,}MSG set ft=gitcommit | ||
autocmd BufNewFile,BufRead *.git/config,.gitconfig,gitconfig,.gitmodules set ft=gitconfig | ||
autocmd BufNewFile,BufRead */.config/git/config set ft=gitconfig | ||
autocmd BufNewFile,BufRead *.git/modules/**/config set ft=gitconfig | ||
autocmd BufNewFile,BufRead git-rebase-todo set ft=gitrebase | ||
autocmd BufNewFile,BufRead .gitsendemail.* set ft=gitsendemail | ||
autocmd BufNewFile,BufRead *.git/** | ||
\ if getline(1) =~ '^\x\{40\}\>\|^ref: ' | | ||
\ set ft=git | | ||
\ endif | ||
|
||
" This logic really belongs in scripts.vim | ||
autocmd BufNewFile,BufRead,StdinReadPost * | ||
\ if getline(1) =~ '^\(commit\|tree\|object\) \x\{40\}\>\|^tag \S\+$' | | ||
\ set ft=git | | ||
\ endif | ||
autocmd BufNewFile,BufRead * | ||
\ if getline(1) =~ '^From \x\{40\} Mon Sep 17 00:00:00 2001$' | | ||
\ set filetype=gitsendemail | | ||
\ endif | ||
augroup END | ||
|
||
augroup filetypedetect | ||
" gmpl:maelvalais/gmpl.vim | ||
au BufRead,BufNewFile *.mod set filetype=gmpl | ||
augroup END | ||
|
||
augroup filetypedetect | ||
" glsl:tikhomirov/vim-glsl | ||
" Language: OpenGL Shading Language | ||
" Maintainer: Sergey Tikhomirov <[email protected]> | ||
|
||
" Extensions supported by Khronos reference compiler (with one exception, ".glsl") | ||
" https://github.com/KhronosGroup/glslang | ||
autocmd! BufNewFile,BufRead *.vert,*.tesc,*.tese,*.glsl,*.geom,*.frag,*.comp set filetype=glsl | ||
|
||
" vim:set sts=2 sw=2 : | ||
augroup END | ||
|
||
augroup filetypedetect | ||
|
@@ -909,6 +964,11 @@ augroup filetypedetect | |
autocmd BufNewFile,BufRead *.slim setfiletype slim | ||
augroup END | ||
|
||
augroup filetypedetect | ||
" slime:slime-lang/vim-slime-syntax | ||
autocmd BufNewFile,BufRead *.slime set filetype=slime | ||
augroup END | ||
|
||
augroup filetypedetect | ||
" solidity:tomlion/vim-solidity | ||
au BufNewFile,BufRead *.sol setf solidity | ||
|
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,43 @@ | ||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'fish') == -1 | ||
|
||
setlocal comments=:# | ||
setlocal commentstring=#%s | ||
setlocal define=\\v^\\s*function> | ||
setlocal foldexpr=fish#Fold() | ||
setlocal formatoptions+=ron1 | ||
setlocal formatoptions-=t | ||
setlocal include=\\v^\\s*\\.> | ||
setlocal iskeyword=@,48-57,-,_,.,/ | ||
setlocal suffixesadd^=.fish | ||
|
||
" Use the 'j' format option when available. | ||
if v:version ># 703 || v:version ==# 703 && has('patch541') | ||
setlocal formatoptions+=j | ||
endif | ||
|
||
if executable('fish_indent') | ||
setlocal formatexpr=fish#Format() | ||
endif | ||
|
||
if executable('fish') | ||
setlocal omnifunc=fish#Complete | ||
for s:path in split(system("fish -c 'echo $fish_function_path'")) | ||
execute 'setlocal path+='.s:path | ||
endfor | ||
else | ||
setlocal omnifunc=syntaxcomplete#Complete | ||
endif | ||
|
||
" Use the 'man' wrapper function in fish to include fish's man pages. | ||
" Have to use a script for this; 'fish -c man' would make the the man page an | ||
" argument to fish instead of man. | ||
execute 'setlocal keywordprg=fish\ '.fnameescape(expand('<sfile>:p:h:h').'/bin/man.fish') | ||
|
||
let b:match_words = | ||
\ escape('<%(begin|function|if|switch|while|for)>:<end>', '<>%|)') | ||
|
||
let b:endwise_addition = 'end' | ||
let b:endwise_words = 'begin,function,if,switch,while,for' | ||
let b:endwise_syngroups = 'fishKeyword,fishConditional,fishRepeat' | ||
|
||
endif |
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,45 @@ | ||
if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'git') == -1 | ||
|
||
" Vim filetype plugin | ||
" Language: generic git output | ||
" Maintainer: Tim Pope <[email protected]> | ||
" Last Change: 2013 May 30 | ||
|
||
" Only do this when not done yet for this buffer | ||
if (exists("b:did_ftplugin")) | ||
finish | ||
endif | ||
let b:did_ftplugin = 1 | ||
|
||
if !exists('b:git_dir') | ||
if expand('%:p') =~# '[\/]\.git[\/]modules[\/]' | ||
" Stay out of the way | ||
elseif expand('%:p') =~# '[\/]\.git[\/]worktrees' | ||
let b:git_dir = matchstr(expand('%:p'),'.*\.git[\/]worktrees[\/][^\/]\+\>') | ||
elseif expand('%:p') =~# '\.git\>' | ||
let b:git_dir = matchstr(expand('%:p'),'.*\.git\>') | ||
elseif $GIT_DIR != '' | ||
let b:git_dir = $GIT_DIR | ||
endif | ||
if (has('win32') || has('win64')) && exists('b:git_dir') | ||
let b:git_dir = substitute(b:git_dir,'\\','/','g') | ||
endif | ||
endif | ||
|
||
if exists('*shellescape') && exists('b:git_dir') && b:git_dir != '' | ||
if b:git_dir =~# '/\.git$' " Not a bare repository | ||
let &l:path = escape(fnamemodify(b:git_dir,':h'),'\, ').','.&l:path | ||
endif | ||
let &l:path = escape(b:git_dir,'\, ').','.&l:path | ||
let &l:keywordprg = 'git --git-dir='.shellescape(b:git_dir).' show' | ||
else | ||
setlocal keywordprg=git\ show | ||
endif | ||
if has('gui_running') | ||
let &l:keywordprg = substitute(&l:keywordprg,'^git\>','git --no-pager','') | ||
endif | ||
|
||
setlocal includeexpr=substitute(v:fname,'^[^/]\\+/','','') | ||
let b:undo_ftplugin = "setl keywordprg< path< includeexpr<" | ||
|
||
endif |
Oops, something went wrong.