summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdam Stankiewicz <sheerun@sher.pl>2020-10-18 12:24:33 +0200
committerAdam Stankiewicz <sheerun@sher.pl>2020-10-18 12:24:33 +0200
commitc9f2aa9ae03cb5a0faa4101642b482dad67500ed (patch)
treeffd9a159a3cd979d69246fe3819677c69bc0700f
parent1fc249bafdc7937b97a62107302925e8f7062b3f (diff)
downloadvim-polyglot-c9f2aa9ae03cb5a0faa4101642b482dad67500ed.tar.gz
vim-polyglot-c9f2aa9ae03cb5a0faa4101642b482dad67500ed.zip
Leave only filetype detection for man, #576
-rw-r--r--after/syntax/c.vim17
-rw-r--r--autoload/go/config.vim11
-rw-r--r--doc/vim-go.txt27
-rw-r--r--ftplugin/man.vim254
-rw-r--r--packages.yaml2
-rw-r--r--syntax/man.vim60
6 files changed, 40 insertions, 331 deletions
diff --git a/after/syntax/c.vim b/after/syntax/c.vim
index 1f2821d7..c533862c 100644
--- a/after/syntax/c.vim
+++ b/after/syntax/c.vim
@@ -7,7 +7,7 @@ if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'cpp-modern') ==
" http://www.vim.org/scripts/script.php?script_id=3064
" Maintainer: bfrg <bfrg@users.noreply.github.com>
" Website: https://github.com/bfrg/vim-cpp-modern
-" Last Change: Oct 4, 2020
+" Last Change: Oct 17, 2020
"
" Extended C syntax highlighting including highlighting of user-defined
" functions.
@@ -28,6 +28,21 @@ if !get(g:, 'cpp_no_function_highlight', 0)
endif
+" Highlight struct/class member variables
+if get(g:, 'cpp_member_highlight', 0)
+ syn match cMemberAccess "\.\|->" nextgroup=cStructMember,cppTemplateKeyword
+ syn match cStructMember "\<\h\w*\>\%((\|<\)\@!" contained
+ syn cluster cParenGroup add=cStructMember
+ syn cluster cPreProcGroup add=cStructMember
+ hi def link cStructMember Identifier
+
+ if &filetype ==# 'cpp'
+ syn keyword cppTemplateKeyword template
+ hi def link cppTemplateKeyword cppStructure
+ endif
+endif
+
+
" Common ANSI-standard Names
syn keyword cAnsiName
\ PRId8 PRIi16 PRIo32 PRIu64 PRId16 PRIi32 PRIo64 PRIuLEAST8 PRId32 PRIi64 PRIoLEAST8 PRIuLEAST16 PRId64 PRIiLEAST8 PRIoLEAST16 PRIuLEAST32 PRIdLEAST8 PRIiLEAST16 PRIoLEAST32 PRIuLEAST64 PRIdLEAST16 PRIiLEAST32 PRIoLEAST64 PRIuFAST8 PRIdLEAST32 PRIiLEAST64 PRIoFAST8 PRIuFAST16 PRIdLEAST64 PRIiFAST8 PRIoFAST16 PRIuFAST32 PRIdFAST8 PRIiFAST16 PRIoFAST32 PRIuFAST64 PRIdFAST16 PRIiFAST32 PRIoFAST64 PRIuMAX PRIdFAST32 PRIiFAST64 PRIoMAX PRIuPTR PRIdFAST64 PRIiMAX PRIoPTR PRIx8 PRIdMAX PRIiPTR PRIu8 PRIx16 PRIdPTR PRIo8 PRIu16 PRIx32 PRIi8 PRIo16 PRIu32 PRIx64 PRIxLEAST8 SCNd8 SCNiFAST32 SCNuLEAST32 PRIxLEAST16 SCNd16 SCNiFAST64 SCNuLEAST64 PRIxLEAST32 SCNd32 SCNiMAX SCNuFAST8 PRIxLEAST64 SCNd64 SCNiPTR SCNuFAST16 PRIxFAST8 SCNdLEAST8 SCNo8 SCNuFAST32 PRIxFAST16 SCNdLEAST16 SCNo16 SCNuFAST64 PRIxFAST32 SCNdLEAST32 SCNo32 SCNuMAX PRIxFAST64 SCNdLEAST64 SCNo64 SCNuPTR PRIxMAX SCNdFAST8 SCNoLEAST8 SCNx8 PRIxPTR SCNdFAST16 SCNoLEAST16 SCNx16 PRIX8 SCNdFAST32 SCNoLEAST32 SCNx32 PRIX16 SCNdFAST64 SCNoLEAST64 SCNx64 PRIX32 SCNdMAX SCNoFAST8 SCNxLEAST8 PRIX64 SCNdPTR SCNoFAST16 SCNxLEAST16 PRIXLEAST8 SCNi8 SCNoFAST32 SCNxLEAST32 PRIXLEAST16 SCNi16 SCNoFAST64 SCNxLEAST64 PRIXLEAST32 SCNi32 SCNoMAX SCNxFAST8 PRIXLEAST64 SCNi64 SCNoPTR SCNxFAST16 PRIXFAST8 SCNiLEAST8 SCNu8 SCNxFAST32 PRIXFAST16 SCNiLEAST16 SCNu16 SCNxFAST64 PRIXFAST32 SCNiLEAST32 SCNu32 SCNxMAX PRIXFAST64 SCNiLEAST64 SCNu64 SCNxPTR PRIXMAX SCNiFAST8 SCNuLEAST8 PRIXPTR SCNiFAST16 SCNuLEAST16 STDC CX_LIMITED_RANGE STDC FENV_ACCESS STDC FP_CONTRACT
diff --git a/autoload/go/config.vim b/autoload/go/config.vim
index 8af1e675..54f94f01 100644
--- a/autoload/go/config.vim
+++ b/autoload/go/config.vim
@@ -574,12 +574,19 @@ function! go#config#GoplsEnabled() abort
return get(g:, 'go_gopls_enabled', 1)
endfunction
+" TODO(bc): remove support for g:go_diagnostics_enabled;
+" g:go_diagnostics_level is the replacement.
function! go#config#DiagnosticsEnabled() abort
return get(g:, 'go_diagnostics_enabled', 0)
endfunction
-function! go#config#DiagnosticsIgnoreWarnings() abort
- return get(g:, 'go_diagnostics_ignore_warnings', 0)
+function! go#config#DiagnosticsLevel() abort
+ let l:default = 2
+ if has_key(g:, 'go_diagnostics_enabled') && !g:go_diagnostics_enabled
+ let l:default = 0
+ endif
+
+ return get(g:, 'go_diagnostics_level', l:default)
endfunction
function! go#config#GoplsOptions() abort
diff --git a/doc/vim-go.txt b/doc/vim-go.txt
index 26639768..18306a0f 100644
--- a/doc/vim-go.txt
+++ b/doc/vim-go.txt
@@ -1902,8 +1902,12 @@ When it is `v:null`, `gopls`' default will be used. By default it is `v:null`.
*'g:go_gopls_local'*
-Specifies the prefix for imports that `gopls` should consider group
-separately.
+Specifies the prefix for imports that `gopls` should group separately.
+
+The value can either be a string or a dictionary. When it is a string, all
+workspaces will use the same value. When it is a dictionary, the key should be
+the absolute path of the workspace and the value is the prefix to use for
+local imports within that workspace.
When it is `v:null`, `gopls`' default will be used. By default it is `v:null`.
>
@@ -1933,21 +1937,20 @@ default it is `v:null`.
<
*'g:go_diagnostics_enabled'*
-Specifies whether `gopls` diagnostics are enabled. Only the diagnostics for
-the current buffer will be processed when it is not set; all others will be
-ignored.
-
-By default it is disabled.
+Deprecated. See `'g:go_diagnostics_level'`. Specifies whether `gopls`
+diagnostics are enabled. Only the diagnostics for the current buffer will be
+processed when it is not set; all others will be ignored. By default it is
+disabled.
>
let g:go_diagnostics_enabled = 0
<
- *'g:go_diagnostics_ignore_warnings'*
-
-Specifies whether warnings from `gopls` diagnostics are ignored.
+ *'g:go_diagnostics_level'*
-By default it is disabled.
+Specifies the `gopls` diagnostics level. Valid values are 0, 1, and 2. 0
+ignores `gopls` diagnostics, 1 is for errors only, and 2 is for errors and
+warnings. By default it is 2.
>
- let g:go_diagnostics_ignore_warnings = 0
+ let g:go_diagnostics_level = 2
<
*'g:go_template_autocreate'*
diff --git a/ftplugin/man.vim b/ftplugin/man.vim
deleted file mode 100644
index 300129c2..00000000
--- a/ftplugin/man.vim
+++ /dev/null
@@ -1,254 +0,0 @@
-if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'man') == -1
-
-" Vim filetype plugin file
-" Language: man
-" Maintainer: Jason Franklin <vim@justemail.net>
-" Maintainer: SungHyun Nam <goweol@gmail.com>
-" Last Change: 2020 Jun 01
-
-" To make the ":Man" command available before editing a manual page, source
-" this script from your startup vimrc file.
-
-" If 'filetype' isn't "man", we must have been called to only define ":Man".
-if &filetype == "man"
-
- " Only do this when not done yet for this buffer
- if exists("b:did_ftplugin")
- finish
- endif
- let b:did_ftplugin = 1
-endif
-
-let s:cpo_save = &cpo
-set cpo-=C
-
-if &filetype == "man"
- " allow dot and dash in manual page name.
- setlocal iskeyword+=\.,-
- let b:undo_ftplugin = "setlocal iskeyword<"
-
- " Add mappings, unless the user didn't want this.
- if !exists("no_plugin_maps") && !exists("no_man_maps")
- if !hasmapto('<Plug>ManBS')
- nmap <buffer> <LocalLeader>h <Plug>ManBS
- let b:undo_ftplugin = b:undo_ftplugin
- \ . '|silent! nunmap <buffer> <LocalLeader>h'
- endif
- nnoremap <buffer> <Plug>ManBS :%s/.\b//g<CR>:setl nomod<CR>''
-
- nnoremap <buffer> <silent> <c-]> :call <SID>PreGetPage(v:count)<CR>
- nnoremap <buffer> <silent> <c-t> :call <SID>PopPage()<CR>
- nnoremap <buffer> <silent> q :q<CR>
-
- " Add undo commands for the maps
- let b:undo_ftplugin = b:undo_ftplugin
- \ . '|silent! nunmap <buffer> <Plug>ManBS'
- \ . '|silent! nunmap <buffer> <c-]>'
- \ . '|silent! nunmap <buffer> <c-t>'
- \ . '|silent! nunmap <buffer> q'
- endif
-
- if exists('g:ft_man_folding_enable') && (g:ft_man_folding_enable == 1)
- setlocal foldmethod=indent foldnestmax=1 foldenable
- let b:undo_ftplugin = b:undo_ftplugin
- \ . '|silent! setl fdm< fdn< fen<'
- endif
-
-endif
-
-if exists(":Man") != 2
- com -nargs=+ -complete=shellcmd Man call s:GetPage(<q-mods>, <f-args>)
- nmap <Leader>K :call <SID>PreGetPage(0)<CR>
- nmap <Plug>ManPreGetPage :call <SID>PreGetPage(0)<CR>
-endif
-
-" Define functions only once.
-if !exists("s:man_tag_depth")
-
-let s:man_tag_depth = 0
-
-let s:man_sect_arg = ""
-let s:man_find_arg = "-w"
-try
- if !has("win32") && $OSTYPE !~ 'cygwin\|linux' && system('uname -s') =~ "SunOS" && system('uname -r') =~ "^5"
- let s:man_sect_arg = "-s"
- let s:man_find_arg = "-l"
- endif
-catch /E145:/
- " Ignore the error in restricted mode
-endtry
-
-func <SID>PreGetPage(cnt)
- if a:cnt == 0
- let old_isk = &iskeyword
- if &ft == 'man'
- setl iskeyword+=(,)
- endif
- let str = expand("<cword>")
- let &l:iskeyword = old_isk
- let page = substitute(str, '(*\(\k\+\).*', '\1', '')
- let sect = substitute(str, '\(\k\+\)(\([^()]*\)).*', '\2', '')
- if match(sect, '^[0-9 ]\+$') == -1
- let sect = ""
- endif
- if sect == page
- let sect = ""
- endif
- else
- let sect = a:cnt
- let page = expand("<cword>")
- endif
- call s:GetPage('', sect, page)
-endfunc
-
-func <SID>GetCmdArg(sect, page)
- if a:sect == ''
- return a:page
- endif
- return s:man_sect_arg.' '.a:sect.' '.a:page
-endfunc
-
-func <SID>FindPage(sect, page)
- let where = system("man ".s:man_find_arg.' '.s:GetCmdArg(a:sect, a:page))
- if where !~ "^/"
- if matchstr(where, " [^ ]*$") !~ "^ /"
- return 0
- endif
- endif
- return 1
-endfunc
-
-func <SID>GetPage(cmdmods, ...)
- if a:0 >= 2
- let sect = a:1
- let page = a:2
- elseif a:0 >= 1
- let sect = ""
- let page = a:1
- else
- return
- endif
-
- " To support: nmap K :Man <cword>
- if page == '<cword>'
- let page = expand('<cword>')
- endif
-
- if !exists('g:ft_man_no_sect_fallback') || (g:ft_man_no_sect_fallback == 0)
- if sect != "" && s:FindPage(sect, page) == 0
- let sect = ""
- endif
- endif
- if s:FindPage(sect, page) == 0
- let msg = 'man.vim: no manual entry for "' . page . '"'
- if !empty(sect)
- let msg .= ' in section ' . sect
- endif
- echomsg msg
- return
- endif
- exec "let s:man_tag_buf_".s:man_tag_depth." = ".bufnr("%")
- exec "let s:man_tag_lin_".s:man_tag_depth." = ".line(".")
- exec "let s:man_tag_col_".s:man_tag_depth." = ".col(".")
- let s:man_tag_depth = s:man_tag_depth + 1
-
- let open_cmd = 'edit'
-
- " Use an existing "man" window if it exists, otherwise open a new one.
- if &filetype != "man"
- let thiswin = winnr()
- exe "norm! \<C-W>b"
- if winnr() > 1
- exe "norm! " . thiswin . "\<C-W>w"
- while 1
- if &filetype == "man"
- break
- endif
- exe "norm! \<C-W>w"
- if thiswin == winnr()
- break
- endif
- endwhile
- endif
- if &filetype != "man"
- if exists("g:ft_man_open_mode")
- if g:ft_man_open_mode == 'vert'
- let open_cmd = 'vsplit'
- elseif g:ft_man_open_mode == 'tab'
- let open_cmd = 'tabedit'
- else
- let open_cmd = 'split'
- endif
- else
- let open_cmd = a:cmdmods . ' split'
- endif
- endif
- endif
-
- silent execute open_cmd . " $HOME/" . page . '.' . sect . '~'
-
- " Avoid warning for editing the dummy file twice
- setl buftype=nofile noswapfile
-
- setl fdc=0 ma nofen nonu nornu
- %delete _
- let unsetwidth = 0
- if empty($MANWIDTH)
- let $MANWIDTH = winwidth(0)
- let unsetwidth = 1
- endif
-
- " Ensure Vim is not recursively invoked (man-db does this) when doing ctrl-[
- " on a man page reference by unsetting MANPAGER.
- " Some versions of env(1) do not support the '-u' option, and in such case
- " we set MANPAGER=cat.
- if !exists('s:env_has_u')
- call system('env -u x true')
- let s:env_has_u = (v:shell_error == 0)
- endif
- let env_cmd = s:env_has_u ? 'env -u MANPAGER' : 'env MANPAGER=cat'
- let env_cmd .= ' GROFF_NO_SGR=1'
- let man_cmd = env_cmd . ' man ' . s:GetCmdArg(sect, page) . ' | col -b'
- silent exec "r !" . man_cmd
-
- if unsetwidth
- let $MANWIDTH = ''
- endif
- " Remove blank lines from top and bottom.
- while line('$') > 1 && getline(1) =~ '^\s*$'
- 1delete _
- endwhile
- while line('$') > 1 && getline('$') =~ '^\s*$'
- $delete _
- endwhile
- 1
- setl ft=man nomod
- setl bufhidden=hide
- setl nobuflisted
- setl noma
-endfunc
-
-func <SID>PopPage()
- if s:man_tag_depth > 0
- let s:man_tag_depth = s:man_tag_depth - 1
- exec "let s:man_tag_buf=s:man_tag_buf_".s:man_tag_depth
- exec "let s:man_tag_lin=s:man_tag_lin_".s:man_tag_depth
- exec "let s:man_tag_col=s:man_tag_col_".s:man_tag_depth
- exec s:man_tag_buf."b"
- exec s:man_tag_lin
- exec "norm! ".s:man_tag_col."|"
- exec "unlet s:man_tag_buf_".s:man_tag_depth
- exec "unlet s:man_tag_lin_".s:man_tag_depth
- exec "unlet s:man_tag_col_".s:man_tag_depth
- unlet s:man_tag_buf s:man_tag_lin s:man_tag_col
- endif
-endfunc
-
-endif
-
-let &cpo = s:cpo_save
-unlet s:cpo_save
-
-" vim: set sw=2 ts=8 noet:
-
-endif
diff --git a/packages.yaml b/packages.yaml
index fc6a702d..ad1f6858 100644
--- a/packages.yaml
+++ b/packages.yaml
@@ -5509,8 +5509,6 @@ filetypes:
- pattern: "XF86Config-4*,XF86Config*,*/xorg.conf.d/*.conf,xorg.conf,xorg.conf-4"
---
name: man
-remote: vim/vim:runtime
-glob: "**/man.vim"
filetypes:
- name: man
linguist: Roff Manpage
diff --git a/syntax/man.vim b/syntax/man.vim
deleted file mode 100644
index c607f0e4..00000000
--- a/syntax/man.vim
+++ /dev/null
@@ -1,60 +0,0 @@
-if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'man') == -1
-
-" Vim syntax file
-" Language: Man page
-" Maintainer: Jason Franklin <vim@justemail.net>
-" Previous Maintainer: SungHyun Nam <goweol@gmail.com>
-" Previous Maintainer: Gautam H. Mudunuri <gmudunur@informatica.com>
-" Version Info:
-" Last Change: 2020 Sep 19
-
-" Additional highlighting by Johannes Tanzler <johannes.tanzler@aon.at>:
-" * manSubHeading
-" * manSynopsis (only for sections 2 and 3)
-
-" quit when a syntax file was already loaded
-if exists("b:current_syntax")
- finish
-endif
-
-" Get the CTRL-H syntax to handle backspaced text
-runtime! syntax/ctrlh.vim
-
-syn case ignore
-
-syn match manReference "\f\+([1-9][a-z]\=)"
-syn match manSectionHeading "^\a.*$"
-syn match manSubHeading "^\s\{3\}\a.*$"
-syn match manOptionDesc "^\s*[+-][a-z0-9]\S*"
-syn match manLongOptionDesc "^\s*--[a-z0-9-]\S*"
-" syn match manHistory "^[a-z].*last change.*$"
-
-syn match manHeader '\%1l.*'
-exe 'syn match manFooter ''\%' . line('$') . 'l.*'''
-
-if getline(1) =~ '^[a-zA-Z_]\+([23])'
- syntax include @cCode <sfile>:p:h/c.vim
- syn match manCFuncDefinition display "\<\h\w*\>\s*("me=e-1 contained
- syn region manSynopsis start="^SYNOPSIS"hs=s+8 end="^\u\+\s*$"me=e-12 keepend contains=manSectionHeading,@cCode,manCFuncDefinition
-endif
-
-
-" Define the default highlighting.
-" Only when an item doesn't have highlighting yet
-
-hi def link manHeader Title
-hi def link manFooter PreProc
-
-hi def link manSectionHeading Statement
-hi def link manOptionDesc Constant
-hi def link manLongOptionDesc Constant
-hi def link manReference PreProc
-hi def link manSubHeading Function
-hi def link manCFuncDefinition Function
-
-
-let b:current_syntax = "man"
-
-" vim:ts=8 sts=2 sw=2:
-
-endif