mirror of
https://github.com/sheerun/vim-polyglot.git
synced 2025-11-12 21:43:49 -05:00
Switch typescript provider, closes #428
This commit is contained in:
15
ftplugin/tsx.vim
Normal file
15
ftplugin/tsx.vim
Normal file
@@ -0,0 +1,15 @@
|
||||
if exists('g:polyglot_disabled') && index(g:polyglot_disabled, 'typescript') != -1
|
||||
finish
|
||||
endif
|
||||
|
||||
" modified from mxw/vim-jsx from html.vim
|
||||
if exists("loaded_matchit") && !exists('b:tsx_match_words')
|
||||
let b:match_ignorecase = 0
|
||||
let b:tsx_match_words = '(:),\[:\],{:},<:>,' .
|
||||
\ '<\@<=\([^/][^ \t>]*\)[^>]*\%(/\@<!>\|$\):<\@<=/\1>'
|
||||
let b:match_words = exists('b:match_words')
|
||||
\ ? b:match_words . ',' . b:tsx_match_words
|
||||
\ : b:tsx_match_words
|
||||
endif
|
||||
|
||||
set suffixesadd+=.tsx
|
||||
@@ -2,6 +2,8 @@ if exists('g:polyglot_disabled') && index(g:polyglot_disabled, 'typescript') !=
|
||||
finish
|
||||
endif
|
||||
|
||||
" set Vi-incompatible, compiler and commentstring
|
||||
|
||||
if exists("b:did_ftplugin")
|
||||
finish
|
||||
endif
|
||||
@@ -17,9 +19,68 @@ setlocal commentstring=//\ %s
|
||||
" " and insert the comment leader when hitting <CR> or using "o".
|
||||
setlocal formatoptions-=t formatoptions+=croql
|
||||
|
||||
setlocal suffixesadd+=.ts,.tsx
|
||||
|
||||
let b:undo_ftplugin = "setl fo< ofu< com< cms<"
|
||||
" setlocal foldmethod=syntax
|
||||
|
||||
let &cpo = s:cpo_save
|
||||
unlet s:cpo_save
|
||||
|
||||
function! TsIncludeExpr(file)
|
||||
if (filereadable(a:file))
|
||||
return l:file
|
||||
else
|
||||
let l:file2=substitute(a:file,'$','/index.ts','g')
|
||||
return l:file2
|
||||
endif
|
||||
endfunction
|
||||
|
||||
set path+=./node_modules/**,node_modules/**
|
||||
set include=import\_s.\\zs[^'\"]*\\ze
|
||||
set includeexpr=TsIncludeExpr(v:fname)
|
||||
set suffixesadd=.ts
|
||||
|
||||
"
|
||||
" TagBar
|
||||
"
|
||||
let g:tagbar_type_typescript = {
|
||||
\ 'ctagstype' : 'typescript',
|
||||
\ 'kinds' : [
|
||||
\ 'c:classes',
|
||||
\ 'a:abstract classes',
|
||||
\ 't:types',
|
||||
\ 'n:modules',
|
||||
\ 'f:functions',
|
||||
\ 'v:variables',
|
||||
\ 'l:varlambdas',
|
||||
\ 'm:members',
|
||||
\ 'i:interfaces',
|
||||
\ 'e:enums'
|
||||
\ ],
|
||||
\ 'sro' : '.',
|
||||
\ 'kind2scope' : {
|
||||
\ 'c' : 'classes',
|
||||
\ 'a' : 'abstract classes',
|
||||
\ 't' : 'types',
|
||||
\ 'f' : 'functions',
|
||||
\ 'v' : 'variables',
|
||||
\ 'l' : 'varlambdas',
|
||||
\ 'm' : 'members',
|
||||
\ 'i' : 'interfaces',
|
||||
\ 'e' : 'enums'
|
||||
\ },
|
||||
\ 'scope2kind' : {
|
||||
\ 'classes' : 'c',
|
||||
\ 'abstract classes' : 'a',
|
||||
\ 'types' : 't',
|
||||
\ 'functions' : 'f',
|
||||
\ 'variables' : 'v',
|
||||
\ 'varlambdas' : 'l',
|
||||
\ 'members' : 'm',
|
||||
\ 'interfaces' : 'i',
|
||||
\ 'enums' : 'e'
|
||||
\ }
|
||||
\ }
|
||||
|
||||
" In case you've updated/customized your ~/.ctags and prefer to use it.
|
||||
if get(g:, 'typescript_use_builtin_tagbar_defs', 1)
|
||||
let g:tagbar_type_typescript.deffile = expand('<sfile>:p:h:h') . '/ctags/typescript.ctags'
|
||||
endif
|
||||
|
||||
Reference in New Issue
Block a user