diff options
-rw-r--r-- | after/ftplugin/javascript.vim | 44 | ||||
-rw-r--r-- | after/ftplugin/javascriptreact.vim | 2 | ||||
-rw-r--r-- | after/ftplugin/jsx.vim | 35 | ||||
-rw-r--r-- | after/indent/javascript.vim | 30 | ||||
-rw-r--r-- | after/indent/javascriptreact.vim | 2 | ||||
-rw-r--r-- | after/indent/jsx.vim | 33 | ||||
-rw-r--r-- | after/syntax/javascript.vim | 56 | ||||
-rw-r--r-- | after/syntax/javascriptreact.vim | 2 | ||||
-rw-r--r-- | after/syntax/jsx.vim | 59 | ||||
-rw-r--r-- | after/syntax/reason/graphql.vim | 2 | ||||
-rw-r--r-- | autoload/go/config.vim | 8 | ||||
-rw-r--r-- | doc/graphql.txt | 3 | ||||
-rw-r--r-- | doc/vim-go.txt | 20 | ||||
-rw-r--r-- | doc/vim-jsx-pretty-doc.txt | 1 | ||||
-rw-r--r-- | ftdetect/polyglot.vim | 8 | ||||
-rw-r--r-- | packages.yaml | 1 | ||||
-rw-r--r-- | scripts/test_filetypes.vim | 2 | ||||
-rw-r--r-- | syntax/go.vim | 4 |
18 files changed, 183 insertions, 129 deletions
diff --git a/after/ftplugin/javascript.vim b/after/ftplugin/javascript.vim index a590e11d..8ff3938a 100644 --- a/after/ftplugin/javascript.vim +++ b/after/ftplugin/javascript.vim @@ -1,3 +1,12 @@ +if !exists('g:polyglot_disabled') || (index(g:polyglot_disabled, 'javascript') == -1 && index(g:polyglot_disabled, 'jsx') == -1) + +if get(g:, 'vim_jsx_pretty_disable_js', 0) + finish +endif + +source <sfile>:h/jsx.vim + +endif if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'javascript') == -1 " Vim filetype plugin file @@ -14,38 +23,3 @@ else endif endif -if !exists('g:polyglot_disabled') || (index(g:polyglot_disabled, 'javascript') == -1 && index(g:polyglot_disabled, 'jsx') == -1) - -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Vim ftplugin file -" -" Language: javascript.jsx -" Maintainer: MaxMEllon <maxmellon1994@gmail.com> -" -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - -" modified from html.vim -" For matchit plugin -if exists("loaded_matchit") - let b:match_ignorecase = 0 - let b:match_words = '(:),\[:\],{:},<:>,' . - \ '<\@<=\([^/][^ \t>]*\)[^>]*\%(>\|$\):<\@<=/\1>' -endif - -" For andymass/vim-matchup plugin -if exists("loaded_matchup") - setlocal matchpairs=(:),{:},[:],<:> - let b:match_words = '<\@<=\([^/][^ \t>]*\)\g{hlend}[^>]*\%(/\@<!>\|$\):<\@<=/\1>' - let b:match_skip = 's:comment\|string' -endif - -let b:jsx_pretty_old_cms = &l:commentstring - -augroup jsx_comment - autocmd! CursorMoved <buffer> - autocmd CursorMoved <buffer> call jsx_pretty#comment#update_commentstring(b:jsx_pretty_old_cms) -augroup end - -setlocal suffixesadd+=.jsx - -endif diff --git a/after/ftplugin/javascriptreact.vim b/after/ftplugin/javascriptreact.vim index ab847072..265415d0 100644 --- a/after/ftplugin/javascriptreact.vim +++ b/after/ftplugin/javascriptreact.vim @@ -1,5 +1,5 @@ if !exists('g:polyglot_disabled') || (index(g:polyglot_disabled, 'javascript') == -1 && index(g:polyglot_disabled, 'jsx') == -1) -source <sfile>:h/javascript.vim +source <sfile>:h/jsx.vim endif diff --git a/after/ftplugin/jsx.vim b/after/ftplugin/jsx.vim new file mode 100644 index 00000000..94f90c13 --- /dev/null +++ b/after/ftplugin/jsx.vim @@ -0,0 +1,35 @@ +if !exists('g:polyglot_disabled') || (index(g:polyglot_disabled, 'javascript') == -1 && index(g:polyglot_disabled, 'jsx') == -1) + +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" Vim ftplugin file +" +" Language: javascript.jsx +" Maintainer: MaxMEllon <maxmellon1994@gmail.com> +" +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +" modified from html.vim +" For matchit plugin +if exists("loaded_matchit") + let b:match_ignorecase = 0 + let b:match_words = '(:),\[:\],{:},<:>,' . + \ '<\@<=\([^/][^ \t>]*\)[^>]*\%(>\|$\):<\@<=/\1>' +endif + +" For andymass/vim-matchup plugin +if exists("loaded_matchup") + setlocal matchpairs=(:),{:},[:],<:> + let b:match_words = '<\@<=\([^/][^ \t>]*\)\g{hlend}[^>]*\%(/\@<!>\|$\):<\@<=/\1>' + let b:match_skip = 's:comment\|string' +endif + +let b:jsx_pretty_old_cms = &l:commentstring + +augroup jsx_comment + autocmd! CursorMoved <buffer> + autocmd CursorMoved <buffer> call jsx_pretty#comment#update_commentstring(b:jsx_pretty_old_cms) +augroup end + +setlocal suffixesadd+=.jsx + +endif diff --git a/after/indent/javascript.vim b/after/indent/javascript.vim index dd280edb..0add1da1 100644 --- a/after/indent/javascript.vim +++ b/after/indent/javascript.vim @@ -47,34 +47,10 @@ endfunction endif if !exists('g:polyglot_disabled') || (index(g:polyglot_disabled, 'javascript') == -1 && index(g:polyglot_disabled, 'jsx') == -1) -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Vim indent file -" -" Language: javascript.jsx -" Maintainer: MaxMellon <maxmellon1994@gmail.com> -" -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - -if exists('b:did_indent') - let s:did_indent = b:did_indent - unlet b:did_indent -endif - -let s:keepcpo = &cpo -set cpo&vim - -if exists('s:did_indent') - let b:did_indent = s:did_indent +if get(g:, 'vim_jsx_pretty_disable_js', 0) + finish endif -setlocal indentexpr=GetJsxIndent() -setlocal indentkeys=0.,0{,0},0),0],0?,0\*,0\,,!^F,:,<:>,o,O,e,<>>,=*/ - -function! GetJsxIndent() - return jsx_pretty#indent#get(function('GetJavascriptIndent')) -endfunction - -let &cpo = s:keepcpo -unlet s:keepcpo +source <sfile>:h/jsx.vim endif diff --git a/after/indent/javascriptreact.vim b/after/indent/javascriptreact.vim index ab847072..265415d0 100644 --- a/after/indent/javascriptreact.vim +++ b/after/indent/javascriptreact.vim @@ -1,5 +1,5 @@ if !exists('g:polyglot_disabled') || (index(g:polyglot_disabled, 'javascript') == -1 && index(g:polyglot_disabled, 'jsx') == -1) -source <sfile>:h/javascript.vim +source <sfile>:h/jsx.vim endif diff --git a/after/indent/jsx.vim b/after/indent/jsx.vim new file mode 100644 index 00000000..fcd7b5ad --- /dev/null +++ b/after/indent/jsx.vim @@ -0,0 +1,33 @@ +if !exists('g:polyglot_disabled') || (index(g:polyglot_disabled, 'javascript') == -1 && index(g:polyglot_disabled, 'jsx') == -1) + +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" Vim indent file +" +" Language: javascript.jsx +" Maintainer: MaxMellon <maxmellon1994@gmail.com> +" +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +if exists('b:did_indent') + let s:did_indent = b:did_indent + unlet b:did_indent +endif + +let s:keepcpo = &cpo +set cpo&vim + +if exists('s:did_indent') + let b:did_indent = s:did_indent +endif + +setlocal indentexpr=GetJsxIndent() +setlocal indentkeys=0.,0{,0},0),0],0?,0\*,0\,,!^F,:,<:>,o,O,e,<>>,=*/ + +function! GetJsxIndent() + return jsx_pretty#indent#get(function('GetJavascriptIndent')) +endfunction + +let &cpo = s:keepcpo +unlet s:keepcpo + +endif diff --git a/after/syntax/javascript.vim b/after/syntax/javascript.vim index 00c4b079..2992e942 100644 --- a/after/syntax/javascript.vim +++ b/after/syntax/javascript.vim @@ -1,59 +1,9 @@ if !exists('g:polyglot_disabled') || (index(g:polyglot_disabled, 'javascript') == -1 && index(g:polyglot_disabled, 'jsx') == -1) -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" -" Vim syntax file -" -" Language: javascript.jsx -" Maintainer: MaxMellon <maxmellon1994@gmail.com> -" -""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" - -let s:jsx_cpo = &cpo -set cpo&vim - -syntax case match - -if exists('b:current_syntax') - let s:current_syntax = b:current_syntax - unlet b:current_syntax -endif - -if exists('s:current_syntax') - let b:current_syntax = s:current_syntax -endif - -if hlexists("jsDebugger") || hlexists("jsNoise") " yuezk/vim-js or pangloss/vim-javascript - syntax cluster jsExpression add=jsxRegion -elseif hlexists("javascriptOpSymbols") " othree/yajs.vim - " refine the javascript line comment - syntax region javascriptLineComment start=+//+ end=/$/ contains=@Spell,javascriptCommentTodo extend keepend - syntax cluster javascriptValue add=jsxRegion - syntax cluster javascriptNoReserved add=jsxElement,jsxTag -else " build-in javascript syntax - " refine the javascript line comment - syntax region javaScriptLineComment start=+//+ end=/$/ contains=@Spell,javascriptCommentTodo extend keepend - - " refine the template string syntax - syntax region javaScriptEmbed matchgroup=javaScriptEmbedBraces start=+\${+ end=+}+ contained contains=@javaScriptEmbededExpr - - " add a javaScriptBlock group for build-in syntax - syntax region javaScriptBlock - \ matchgroup=javaScriptBraces - \ start="{" - \ end="}" - \ contained - \ extend - \ contains=javaScriptBlock,@javaScriptEmbededExpr,javaScript.* - \ fold - - syntax cluster javaScriptEmbededExpr add=jsxRegion,javaScript.* +if get(g:, 'vim_jsx_pretty_disable_js', 0) + finish endif -runtime syntax/jsx_pretty.vim - -let b:current_syntax = 'javascript.jsx' - -let &cpo = s:jsx_cpo -unlet s:jsx_cpo +source <sfile>:h/jsx.vim endif diff --git a/after/syntax/javascriptreact.vim b/after/syntax/javascriptreact.vim index ab847072..265415d0 100644 --- a/after/syntax/javascriptreact.vim +++ b/after/syntax/javascriptreact.vim @@ -1,5 +1,5 @@ if !exists('g:polyglot_disabled') || (index(g:polyglot_disabled, 'javascript') == -1 && index(g:polyglot_disabled, 'jsx') == -1) -source <sfile>:h/javascript.vim +source <sfile>:h/jsx.vim endif diff --git a/after/syntax/jsx.vim b/after/syntax/jsx.vim new file mode 100644 index 00000000..00c4b079 --- /dev/null +++ b/after/syntax/jsx.vim @@ -0,0 +1,59 @@ +if !exists('g:polyglot_disabled') || (index(g:polyglot_disabled, 'javascript') == -1 && index(g:polyglot_disabled, 'jsx') == -1) + +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" +" Vim syntax file +" +" Language: javascript.jsx +" Maintainer: MaxMellon <maxmellon1994@gmail.com> +" +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" + +let s:jsx_cpo = &cpo +set cpo&vim + +syntax case match + +if exists('b:current_syntax') + let s:current_syntax = b:current_syntax + unlet b:current_syntax +endif + +if exists('s:current_syntax') + let b:current_syntax = s:current_syntax +endif + +if hlexists("jsDebugger") || hlexists("jsNoise") " yuezk/vim-js or pangloss/vim-javascript + syntax cluster jsExpression add=jsxRegion +elseif hlexists("javascriptOpSymbols") " othree/yajs.vim + " refine the javascript line comment + syntax region javascriptLineComment start=+//+ end=/$/ contains=@Spell,javascriptCommentTodo extend keepend + syntax cluster javascriptValue add=jsxRegion + syntax cluster javascriptNoReserved add=jsxElement,jsxTag +else " build-in javascript syntax + " refine the javascript line comment + syntax region javaScriptLineComment start=+//+ end=/$/ contains=@Spell,javascriptCommentTodo extend keepend + + " refine the template string syntax + syntax region javaScriptEmbed matchgroup=javaScriptEmbedBraces start=+\${+ end=+}+ contained contains=@javaScriptEmbededExpr + + " add a javaScriptBlock group for build-in syntax + syntax region javaScriptBlock + \ matchgroup=javaScriptBraces + \ start="{" + \ end="}" + \ contained + \ extend + \ contains=javaScriptBlock,@javaScriptEmbededExpr,javaScript.* + \ fold + + syntax cluster javaScriptEmbededExpr add=jsxRegion,javaScript.* +endif + +runtime syntax/jsx_pretty.vim + +let b:current_syntax = 'javascript.jsx' + +let &cpo = s:jsx_cpo +unlet s:jsx_cpo + +endif diff --git a/after/syntax/reason/graphql.vim b/after/syntax/reason/graphql.vim index 44a5c846..4f4ba44c 100644 --- a/after/syntax/reason/graphql.vim +++ b/after/syntax/reason/graphql.vim @@ -32,6 +32,6 @@ if exists('s:current_syntax') let b:current_syntax = s:current_syntax endif -syntax region graphqlMultilineString matchgroup=reasonMultilineString start=+graphql\_s*\zs{|+ end=+|}+ contains=@GraphQLSyntax,reasonEscape,reasonEscapeUnicode,reasonEscapeError,reasonStringContinuation keepend +syntax region graphqlExtensionPoint matchgroup=Noise start=+\[%graphql\_s*{|+lc=10 end=+|}\_s*]+he=s+1 contains=@GraphQLSyntax keepend endif diff --git a/autoload/go/config.vim b/autoload/go/config.vim index 956da220..55bc1902 100644 --- a/autoload/go/config.vim +++ b/autoload/go/config.vim @@ -552,6 +552,14 @@ function! go#config#GoplsLocal() abort return get(g:, 'go_gopls_local', v:null) endfunction +function! go#config#GoplsGofumpt() abort + return get(g:, 'go_gopls_gofumpt', v:null) +endfunction + +function! go#config#GoplsSettings() abort + return get(g:, 'go_gopls_settings', v:null) +endfunction + function! go#config#GoplsEnabled() abort return get(g:, 'go_gopls_enabled', 1) endfunction diff --git a/doc/graphql.txt b/doc/graphql.txt index 3f41deaa..868c74d8 100644 --- a/doc/graphql.txt +++ b/doc/graphql.txt @@ -46,8 +46,7 @@ the list of recognized template tag names. REASONML *graphql-reasonml* GraphQL syntax support inside of ReasonML template strings using graphql-ppx -is available when vim-reasonml (https://github.com/jordwalke/vim-reasonml) is -also installed. +is available. ------------------------------------------------------------------------------ vim:tw=78:ft=help:norl: diff --git a/doc/vim-go.txt b/doc/vim-go.txt index e00dec9b..b92ab5b9 100644 --- a/doc/vim-go.txt +++ b/doc/vim-go.txt @@ -802,7 +802,7 @@ CTRL-t You can define a constant value instead of the default field based value. For example the following command will add ``valid:"1"`` to all fields. > - :GoAddTags valid=1 + :GoAddTags valid:1 < *:GoRemoveTags* :[range]GoRemoveTags [key],[option] [key1],[option1] ... @@ -1876,6 +1876,24 @@ is `v:null`. let g:go_gopls_local = v:null < + *'g:go_gopls_gofumpt'* + +Specifies whether `gopls` should use `gofumpt` for formatting. When it is +`v:null`, `gopls`' default will be used. By default it is `v:null`. +> + let g:go_gopls_gofumpt = v:null +< + + *'g:go_gopls_settings'* + +Specifies `gopls` workspace settings for `gopls` that are not yet officially +supported by vim-go. Any value in the dictionary will be overridden by values +provided in the specific options supported by vim-go (e.g. +g:go_gopls_staticcheck) or settings statically configured by vim-go to ensure +expected behavior. By default it is `v:null`. +> + let g:go_gopls_settings = v:null +< *'g:go_diagnostics_enabled'* Specifies whether `gopls` diagnostics are enabled. Only the diagnostics for diff --git a/doc/vim-jsx-pretty-doc.txt b/doc/vim-jsx-pretty-doc.txt index a561e475..cc170976 100644 --- a/doc/vim-jsx-pretty-doc.txt +++ b/doc/vim-jsx-pretty-doc.txt @@ -46,6 +46,7 @@ CONFIG *vim-jsx-pretty-config* |---------------------------------------|---------|----------------------| | g:vim_jsx_pretty_enable_jsx_highlight | 1 | jsx highlight flag | | g:vim_jsx_pretty_colorful_config | 0 | colorful config flag | + | g:vim_jsx_pretty_disable_js | 0 | js toggle flag | < - *g:vim_jsx_pretty_enable_jsx_highlight* diff --git a/ftdetect/polyglot.vim b/ftdetect/polyglot.vim index 432b5e01..e49a966d 100644 --- a/ftdetect/polyglot.vim +++ b/ftdetect/polyglot.vim @@ -851,6 +851,10 @@ if !has_key(s:disabled_packages, 'ion') au BufNewFile,BufRead ~/.config/ion/initrc setf ion endif +if !has_key(s:disabled_packages, 'jsx') + au BufNewFile,BufRead *.jsx setf javascriptreact +endif + if !has_key(s:disabled_packages, 'javascript') au BufNewFile,BufRead *._js setf javascript au BufNewFile,BufRead *.bones setf javascript @@ -939,10 +943,6 @@ if !has_key(s:disabled_packages, 'jst') au BufNewFile,BufRead *.jst setf jst endif -if !has_key(s:disabled_packages, 'jsx') - au BufNewFile,BufRead *.jsx setf javascriptreact -endif - if !has_key(s:disabled_packages, 'julia') au BufNewFile,BufRead *.jl setf julia endif diff --git a/packages.yaml b/packages.yaml index 3ddc5776..dfb17252 100644 --- a/packages.yaml +++ b/packages.yaml @@ -921,6 +921,7 @@ filetypes: --- name: jsx remote: MaxMEllon/vim-jsx-pretty +after: javascript filetypes: - name: javascriptreact linguist: JSX diff --git a/scripts/test_filetypes.vim b/scripts/test_filetypes.vim index 42e683d1..e7ae6511 100644 --- a/scripts/test_filetypes.vim +++ b/scripts/test_filetypes.vim @@ -109,6 +109,7 @@ call TestFiletype('idris') call TestFiletype('idris2') call TestFiletype('lidris2') call TestFiletype('ion') +call TestFiletype('javascriptreact') call TestFiletype('javascript') call TestFiletype('flow') call TestFiletype('Jenkinsfile') @@ -118,7 +119,6 @@ call TestFiletype('json5') call TestFiletype('json') call TestFiletype('jsonnet') call TestFiletype('jst') -call TestFiletype('javascriptreact') call TestFiletype('julia') call TestFiletype('kotlin') call TestFiletype('ledger') diff --git a/syntax/go.vim b/syntax/go.vim index 93d6fbc4..73f28037 100644 --- a/syntax/go.vim +++ b/syntax/go.vim @@ -424,8 +424,8 @@ function! s:hi() " :GoDebug commands if go#config#HighlightDebug() - hi GoDebugBreakpoint term=standout ctermbg=117 ctermfg=0 guibg=#BAD4F5 guifg=Black - hi GoDebugCurrent term=reverse ctermbg=12 ctermfg=7 guibg=DarkBlue guifg=White + hi def GoDebugBreakpoint term=standout ctermbg=117 ctermfg=0 guibg=#BAD4F5 guifg=Black + hi def GoDebugCurrent term=reverse ctermbg=12 ctermfg=7 guibg=DarkBlue guifg=White endif endfunction |