From 57d36d7bc73522cc70eb77d5ee3f93add722b1c4 Mon Sep 17 00:00:00 2001 From: Andrew Miner Date: Thu, 31 Aug 2017 14:06:46 -0700 Subject: [PATCH] Add further support for typescript --- home/.vim/syntax_checkers/typescript/tsc.vim | 67 ++++++++++++++++++++ home/.vimrc | 20 ++++-- 2 files changed, 80 insertions(+), 7 deletions(-) create mode 100644 home/.vim/syntax_checkers/typescript/tsc.vim diff --git a/home/.vim/syntax_checkers/typescript/tsc.vim b/home/.vim/syntax_checkers/typescript/tsc.vim new file mode 100644 index 0000000..dfe3988 --- /dev/null +++ b/home/.vim/syntax_checkers/typescript/tsc.vim @@ -0,0 +1,67 @@ +"============================================================================ +"File: tsc.vim +"Description: TypeScript syntax checker +"Maintainer: Bill Casarin +" +"============================================================================ + +if exists('g:loaded_syntastic_typescript_tsc_checker') + finish +endif +let g:loaded_syntastic_typescript_tsc_checker = 1 + +if !exists('g:syntastic_typescript_tsc_sort') + let g:syntastic_typescript_tsc_sort = 1 +endif + +let s:save_cpo = &cpo +set cpo&vim + +function! SyntaxCheckers_typescript_tsc_IsAvailable() dict + if !executable(self.getExec()) + return 0 + endif + + let version_output = split(syntastic#util#system(self.getExecEscaped() . ' --version'), '\n', 1) + let ver = filter(copy(version_output), 'v:val =~# ''\m\= 0 +endfunction + +function! SyntaxCheckers_typescript_tsc_GetLocList() dict + let makeprg = self.makeprgBuild({ + \ 'exe': 'tsc', + \ 'fname': '', + \ 'args': '--noEmit -p tsconfig.json' }) + + let errorformat = + \ '%E%f %#(%l\,%c): error %m,' . + \ '%E%f %#(%l\,%c): %m,' . + \ '%Eerror %m,' . + \ '%C%\s%\+%m' + + return SyntasticMake({ + \ 'makeprg': makeprg, + \ 'errorformat': errorformat, + \ 'postprocess': ['guards'], + \ 'defaults': {'bufnr': bufnr('')} }) +endfunction + +call g:SyntasticRegistry.CreateAndRegisterChecker({ + \ 'filetype': 'typescript', + \ 'name': 'tsc'}) + +let &cpo = s:save_cpo +unlet s:save_cpo + +" vim: set sw=4 sts=4 et fdm=marker: diff --git a/home/.vimrc b/home/.vimrc index eda11e2..b0722d9 100644 --- a/home/.vimrc +++ b/home/.vimrc @@ -2,6 +2,7 @@ call plug#begin('~/.vim/plugged') +Plug 'HerringtonDarkholme/yats.vim' Plug 'ctrlpvim/ctrlp.vim' Plug 'digitaltoad/vim-pug' Plug 'elzr/vim-json' @@ -10,7 +11,6 @@ Plug 'gisraptor/vim-lilypond-integrator' Plug 'godlygeek/tabular' Plug 'jlanzarotta/bufexplorer' Plug 'kchmck/vim-coffee-script' -Plug 'leafgarland/typescript-vim' Plug 'nathanaelkane/vim-indent-guides' Plug 'plasticboy/vim-markdown' Plug 'scrooloose/nerdtree' @@ -24,10 +24,10 @@ call plug#end() " Execute Basic Setup Commands ######################################################################################### set background=dark -colorscheme zmrok -" abra alduin badwolf Benokai birds-of-paradise black-angus brogrammer bvemu cabin camo chlordane coffee corporation -" dark-robin feral golden greens kellys liquidcarbon night_vision obsidian solarized zmrok -" +silent! colorscheme zmrok +" abra alduin badwolf Benokai birds-of-paradise black-angus brogrammer bvemu cabin camo chlordane coffee +" corporation dark-robin feral golden greens kellys liquidcarbon night_vision obsidian solarized zmrok + filetype plugin indent on hi ColorColumn ctermbg=8 syntax on @@ -95,13 +95,19 @@ nmap =or :Tabularize /or nmap =, :Tabularize /[^,]*: " nathanaelkane/vim-indent-guides -let g:indent_guides_enable_on_vim_startup = 0 " :IndentGuidesToggle +let g:indent_guides_enable_on_vim_startup = 0 " vim-syntastic/syntastic let g:syntastic_always_populate_loc_list = 1 let g:syntastic_auto_loc_list = 1 -let g:syntastic_check_on_open = 1 +let g:syntastic_check_on_open = 0 let g:syntastic_check_on_wq = 0 +let g:syntastic_error_symbol = "E>" +let g:syntastic_style_error_symbol = "e>" +let g:syntastic_style_warning_symbol = "w>" +let g:syntastic_warning_symbol = "W>" + +let g:syntastic_typescript_checkers = ['tsc', 'tslint'] " Key Mappings #########################################################################################################