You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
127 lines
4.4 KiB
Markdown
127 lines
4.4 KiB
Markdown
Typescript Syntax for Vim
|
|
=========================
|
|
|
|
Syntax file and other settings for [TypeScript](http://typescriptlang.org). The
|
|
syntax file is taken from this [blog
|
|
post](http://blogs.msdn.com/b/interoperability/archive/2012/10/01/sublime-text-vi-emacs-typescript-enabled.aspx).
|
|
|
|
Checkout [Tsuquyomi](https://github.com/Quramy/tsuquyomi) for omni-completion
|
|
and other features for TypeScript editing.
|
|
|
|
Install
|
|
-------
|
|
|
|
The simplest way to install is via a Vim add-in manager such as
|
|
[Plug](https://github.com/junegunn/vim-plug),
|
|
[Vundle](https://github.com/gmarik/vundle) or
|
|
[Pathogen](https://github.com/tpope/vim-pathogen/).
|
|
|
|
_See the [Installation Wiki](https://github.com/leafgarland/typescript-vim/wiki/Installation)_
|
|
|
|
### Pathogen
|
|
|
|
```
|
|
git clone https://github.com/leafgarland/typescript-vim.git ~/.vim/bundle/typescript-vim
|
|
```
|
|
|
|
If you want to install manually then you need to copy the files from this
|
|
repository into your vim path, see the vim docs for [:help
|
|
runtimepath](http://vimdoc.sourceforge.net/htmldoc/options.html#'runtimepath')
|
|
for more information. This might be as simple as copying the files and
|
|
directories to `~/.vim/` but it depends on your Vim install and operating
|
|
system.
|
|
|
|
Usage
|
|
-----
|
|
|
|
Once the files are installed the syntax highlighting and other settings will be
|
|
automatically enabled anytime you edit a `.ts` file.
|
|
|
|
Indenting
|
|
---------
|
|
|
|
This plugin includes a custom indenter (based on [pangloss/vim-javascript's
|
|
indenter](https://github.com/pangloss/vim-javascript/blob/master/indent/javascript.vim)),
|
|
it works pretty well but there are cases where it fails. If these bother you or
|
|
want to use other indent settings you can disable it by setting a flag in your
|
|
`.vimrc`:
|
|
|
|
```vim
|
|
let g:typescript_indent_disable = 1
|
|
```
|
|
|
|
If you want the indenter to automatically indent chained method calls as you type.
|
|
|
|
```typescript
|
|
something
|
|
.foo()
|
|
.bar();
|
|
```
|
|
|
|
Then add something like `setlocal indentkeys+=0.` to your `.vimrc`, see `:help
|
|
'indentkeys'` in vim for more information.
|
|
|
|
If you use the `=` operator to re-indent code it will always indent
|
|
chained method calls - this can be disabled by changing the regex the
|
|
indent script uses to identify indented lines. In this case removing '.'
|
|
from the regex means that it wont indent lines starting with '.'. Note,
|
|
this is not ideal as the regex may change making your setting out of date.
|
|
|
|
```vim
|
|
let g:typescript_opfirst='\%([<>=,?^%|*/&]\|\([-:+]\)\1\@!\|!=\|in\%(stanceof\)\=\>\)'
|
|
```
|
|
|
|
Compiler settings
|
|
-----------------
|
|
|
|
This plugin contains compiler settings to set `makeprg` and `errorformat`.
|
|
The compiler settings enable you to call the `tsc` compiler directly from Vim
|
|
and display any errors or warnings in Vim's QuickFix window.
|
|
|
|
To run the compiler, enter `:make`, this will run `tsc` against the last saved
|
|
version of your currently edited file.
|
|
|
|
The default for `makeprg` is `tsc $* %`. You can enter other compiler options into your `:make`
|
|
command line and they will be inserted in place of `$*`.
|
|
|
|
There are options to change the compiler name and to insert default options.
|
|
|
|
```vim
|
|
let g:typescript_compiler_binary = 'tsc'
|
|
let g:typescript_compiler_options = ''
|
|
```
|
|
|
|
These options will be passed to the binary as command arguments. For example,
|
|
if `g:typescript_compiler_binary = 'tsc'` and `g:typescript_compiler_options = '--lib es6'`,
|
|
`l:makeprg` will be: `tsc --lib es6 $* %`.
|
|
|
|
You can completely override this plugin's compiler settings with something like
|
|
this in your `.vimrc`, where you can set makeprg to whatever you want.
|
|
|
|
```vim
|
|
autocmd FileType typescript :set makeprg=tsc
|
|
```
|
|
|
|
Note, this plugin's compiler settings are not used by Syntastic which has its own
|
|
way of changing the options. See https://github.com/scrooloose/syntastic#faqargs.
|
|
|
|
You can use something like this in your `.vimrc` to make the QuickFix
|
|
window automatically appear if `:make` has any errors.
|
|
|
|
```vim
|
|
autocmd QuickFixCmdPost [^l]* nested cwindow
|
|
autocmd QuickFixCmdPost l* nested lwindow
|
|
```
|
|
|
|
Syntax highlighting
|
|
-------------------
|
|
|
|
Syntax highlighting for TypeScript can be customized by following variables.
|
|
|
|
- `g:typescript_ignore_typescriptdoc`: When this variable is defined, doccomments will not be
|
|
highlighted.
|
|
- `g:typescript_ignore_browserwords`: When this variable is set to `1`, browser API names such as
|
|
`window` or `document` will not be highlighted. (default to `0`)
|
|
|
|
![Obligatory screenshot](https://raw.github.com/leafgarland/typescript-vim/master/vimshot01.png)
|