Skip to content

Commit 243b1bb

Browse files
author
Nigel Packer
committed
2 parents aa103ac + 3c90d0c commit 243b1bb

13 files changed

Lines changed: 663 additions & 507 deletions

File tree

CONTRIBUTING.md

Lines changed: 0 additions & 18 deletions
This file was deleted.

ISSUE_TEMPLATE.md

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
*Requisite minimal reproducible example, formatted as plain text :*
2+
3+
<hr>
4+
5+
#### Optional: concerning jsx.
6+
PLEASE PLEASE PLEASE make sure you have properly
7+
setup and are sourcing this plugin https://github.com/mxw/vim-jsx
8+
9+
WE DO NOT support JSX automatically, you need another plugin to add get this
10+
functionality.
11+
12+
Make sure the bug still exists if you disable all other javascript plugins
13+
except the one noted above, mxw/vim-jsx

README.md

Lines changed: 87 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,91 +1,125 @@
1-
# vim-javascript v0.10.0
1+
# vim-javascript
22

3-
JavaScript bundle for vim, this bundle provides syntax and indent plugins.
3+
JavaScript bundle for vim, this bundle provides syntax highlighting and
4+
improved indentation.
45

5-
## A Quick Note on Regexes
66

7-
Vim 7.4 was released recently, and unfortunately broke how this plugin
8-
handles regexes. There was no real easy way for us to fix this unless we
9-
completely rewrote how regexes work.
7+
## Installation
108

11-
Good News: There was a recent update to Vim 7.4 that fixes this issue.
9+
### Install with native package manager
1210

13-
Make sure you are at least using Vim 7.4, with patches 1-7.
11+
git clone https://github.com/pangloss/vim-javascript.git ~/.vim/pack/vim-javascript/start/vim-javascript
1412

15-
If you are stuck on an older version of Vim 7.4 with no way to update,
16-
then simply perform the following commands to fix your current buffer:
13+
since Vim 8.
1714

18-
```
19-
:set regexpengine=1
20-
:syntax enable
21-
```
15+
### Install with [pathogen](https://github.com/tpope/vim-pathogen)
2216

23-
## Installation
17+
git clone https://github.com/pangloss/vim-javascript.git ~/.vim/bundle/vim-javascript
2418

25-
### Install with [Vundle](https://github.com/gmarik/vundle)
19+
alternatively, use a package manager like [vim-plug](https://github.com/junegunn/vim-plug)
2620

27-
Add to vimrc:
2821

29-
Plugin 'pangloss/vim-javascript'
22+
## Configuration Variables
3023

31-
And install it:
24+
The following variables control certain syntax highlighting plugins. You can
25+
add them to your `.vimrc` to enable their features.
3226

33-
:so ~/.vimrc
34-
:PluginInstall
27+
-----------------
3528

36-
### Install with [pathogen](https://github.com/tpope/vim-pathogen)
29+
```
30+
let g:javascript_plugin_jsdoc = 1
31+
```
3732

38-
git clone https://github.com/pangloss/vim-javascript.git ~/.vim/bundle/vim-javascript
33+
Enables syntax highlighting for [JSDocs](http://usejsdoc.org/).
3934

40-
## Configuration
35+
Default Value: 0
4136

42-
The following variables control certain syntax highlighting features. You can
43-
add them to your `.vimrc` to enable/disable their features.
37+
-----------------
4438

45-
#### javascript_enable_domhtmlcss
39+
```
40+
let g:javascript_plugin_ngdoc = 1
41+
```
4642

47-
Enables HTML/CSS syntax highlighting in your JavaScript file.
43+
Enables some additional syntax highlighting for NGDocs. Requires JSDoc plugin
44+
to be enabled as well.
4845

4946
Default Value: 0
5047

51-
#### b:javascript_fold
48+
-----------------
49+
50+
```
51+
let g:javascript_plugin_flow = 1
52+
```
53+
54+
Enables syntax highlighting for [Flow](https://flowtype.org/).
5255

53-
Enables JavaScript code folding.
56+
Default Value: 0
5457

55-
Default Value: 1
58+
-----------------
5659

60+
```vim
61+
augroup javascript_folding
62+
au!
63+
au FileType javascript setlocal foldmethod=syntax
64+
augroup END
65+
```
5766

58-
#### javascript_ignore_javaScriptdoc
67+
Enables code folding for javascript based on our syntax file.
5968

60-
Disables JSDoc syntax highlighting
69+
Please note this can have a dramatic effect on performance.
6170

62-
Default Value: 0
6371

64-
#### Concealing Characters
72+
## Concealing Characters
6573

66-
You can customize concealing characters by defining one or more of the following
74+
You can customize concealing characters, if your font provides the glyph you want, by defining one or more of the following
6775
variables:
6876

69-
let g:javascript_conceal_function = "ƒ"
70-
let g:javascript_conceal_null = "ø"
71-
let g:javascript_conceal_this = "@"
72-
let g:javascript_conceal_return = "⇚"
73-
let g:javascript_conceal_undefined = "¿"
74-
let g:javascript_conceal_NaN = "ℕ"
75-
let g:javascript_conceal_prototype = "¶"
76-
let g:javascript_conceal_static = "•"
77-
let g:javascript_conceal_super = "Ω"
77+
let g:javascript_conceal_function = "ƒ"
78+
let g:javascript_conceal_null = "ø"
79+
let g:javascript_conceal_this = "@"
80+
let g:javascript_conceal_return = "⇚"
81+
let g:javascript_conceal_undefined = "¿"
82+
let g:javascript_conceal_NaN = "ℕ"
83+
let g:javascript_conceal_prototype = "¶"
84+
let g:javascript_conceal_static = "•"
85+
let g:javascript_conceal_super = "Ω"
86+
let g:javascript_conceal_arrow_function = "⇒"
87+
let g:javascript_conceal_noarg_arrow_function = "🞅"
88+
let g:javascript_conceal_underscore_arrow_function = "🞅"
89+
90+
91+
You can enable concealing within VIM with:
92+
93+
set conceallevel=1
94+
95+
OR if you wish to toggle concealing you may wish to bind a command such as the following which will map `<LEADER>l` (leader is usually the `\` key) to toggling conceal mode:
96+
97+
map <leader>l :exec &conceallevel ? "set conceallevel=0" : "set conceallevel=1"<CR>
98+
99+
100+
## Indentation Specific
101+
102+
* `:h cino-:`
103+
* `:h cino-=`
104+
* `:h cino-star`
105+
* `:h cino-(`
106+
* `:h cino-w`
107+
* `:h cino-W`
108+
* `:h cino-U`
109+
* `:h cino-m`
110+
* `:h cino-M`
111+
* `:h 'indentkeys'`
78112

79113
## Contributing
80114

81-
This project uses the [git
82-
flow](http://nvie.com/posts/a-successful-git-branching-model/) model for
83-
development. There's [a handy git module for git
84-
flow](//github.com/nvie/gitflow). If you'd like to be added as a contributor,
85-
the price of admission is 1 pull request. Please follow the general code style
115+
Please follow the general code style
86116
guides (read the code) and in your pull request explain the reason for the
87-
proposed change and how it is valuable.
117+
proposed change and how it is valuable. All p.r.'s will be reviewed by a
118+
maintainer(s) then, hopefully, merged.
119+
120+
Thank you!
121+
88122

89-
## Bug report
123+
## License
90124

91-
Report a bug on [GitHub Issues](https://github.com/pangloss/vim-javascript/issues).
125+
Distributed under the same terms as Vim itself. See `:help license`.

after/ftplugin/javascript.vim

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
" Vim filetype plugin file
2+
" Language: JavaScript
3+
" Maintainer: vim-javascript community
4+
" URL: https://github.com/pangloss/vim-javascript
5+
6+
setlocal iskeyword+=$ suffixesadd+=.js
7+
8+
if exists('b:undo_ftplugin')
9+
let b:undo_ftplugin .= ' | setlocal iskeyword< suffixesadd<'
10+
else
11+
let b:undo_ftplugin = 'setlocal iskeyword< suffixesadd<'
12+
endif

compiler/eslint.vim

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
" Vim compiler plugin
2+
" Language: JavaScript
3+
" Maintainer: vim-javascript community
4+
" URL: https://github.com/pangloss/vim-javascript
5+
6+
if exists("current_compiler")
7+
finish
8+
endif
9+
let current_compiler = "eslint"
10+
11+
if exists(":CompilerSet") != 2
12+
command! -nargs=* CompilerSet setlocal <args>
13+
endif
14+
15+
CompilerSet makeprg=eslint\ -f\ compact\ %
16+
CompilerSet errorformat=%f:\ line\ %l\\,\ col\ %c\\,\ %m

extras/flow.vim

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
syntax region jsFlowDefinition contained start=/:/ end=/\%(\s*[,=;)\n]\)\@=/ contains=@jsFlowCluster containedin=jsParen
2+
syntax region jsFlowArgumentDef contained start=/:/ end=/\%(\s*[,)]\|=>\@!\)\@=/ contains=@jsFlowCluster
3+
syntax region jsFlowArray contained matchgroup=jsFlowNoise start=/\[/ end=/\]/ contains=@jsFlowCluster,jsComment fold
4+
syntax region jsFlowObject contained matchgroup=jsFlowNoise start=/{/ end=/}/ contains=@jsFlowCluster,jsComment fold
5+
syntax region jsFlowExactObject contained matchgroup=jsFlowNoise start=/{|/ end=/|}/ contains=@jsFlowCluster,jsComment fold
6+
syntax region jsFlowParens contained matchgroup=jsFlowNoise start=/(/ end=/)/ contains=@jsFlowCluster nextgroup=jsFlowArrow skipwhite keepend extend fold
7+
syntax match jsFlowNoise contained /[:;,<>]/
8+
syntax keyword jsFlowType contained boolean number string null void any mixed JSON array Function object array bool class
9+
syntax keyword jsFlowTypeof contained typeof skipempty skipwhite nextgroup=jsFlowTypeCustom,jsFlowType
10+
syntax match jsFlowTypeCustom contained /[0-9a-zA-Z_.]*/ skipwhite skipempty nextgroup=jsFlowGeneric
11+
syntax region jsFlowGeneric matchgroup=jsFlowNoise start=/\k\@<=</ end=/>/ contains=@jsFlowCluster containedin=@jsExpression,jsFlowDeclareBlock
12+
syntax region jsFlowGeneric contained matchgroup=jsFlowNoise start=/</ end=/>(\@=/ oneline contains=@jsFlowCluster containedin=@jsExpression,jsFlowDeclareBlock
13+
syntax region jsFlowObjectGeneric contained matchgroup=jsFlowNoise start=/\k\@<=</ end=/>/ contains=@jsFlowCluster nextgroup=jsFuncArgs
14+
syntax match jsFlowArrow contained /=>/ skipwhite skipempty nextgroup=jsFlowType,jsFlowTypeCustom,jsFlowParens
15+
syntax match jsFlowObjectKey contained /[0-9a-zA-Z_$?]*\(\s*:\)\@=/ contains=jsFunctionKey,jsFlowMaybe skipwhite skipempty nextgroup=jsObjectValue containedin=jsObject
16+
syntax match jsFlowOrOperator contained /|/ skipwhite skipempty nextgroup=@jsFlowCluster
17+
syntax keyword jsFlowImportType contained type typeof skipwhite skipempty nextgroup=jsModuleAsterisk,jsModuleKeyword,jsModuleGroup
18+
syntax match jsFlowWildcard contained /*/
19+
20+
syntax match jsFlowReturn contained /:\s*/ contains=jsFlowNoise skipwhite skipempty nextgroup=@jsFlowReturnCluster,jsFlowArrow,jsFlowReturnParens
21+
syntax region jsFlowReturnObject contained matchgroup=jsFlowNoise start=/{/ end=/}/ contains=@jsFlowCluster skipwhite skipempty nextgroup=jsFuncBlock,jsFlowReturnOrOp extend fold
22+
syntax region jsFlowReturnArray contained matchgroup=jsFlowNoise start=/\[/ end=/\]/ contains=@jsFlowCluster skipwhite skipempty nextgroup=jsFuncBlock,jsFlowReturnOrOp fold
23+
syntax region jsFlowReturnParens contained matchgroup=jsFlowNoise start=/(/ end=/)/ contains=@jsFlowCluster skipwhite skipempty nextgroup=jsFuncBlock,jsFlowReturnOrOp,jsFlowReturnArrow fold
24+
syntax match jsFlowReturnArrow contained /=>/ skipwhite skipempty nextgroup=@jsFlowReturnCluster
25+
syntax match jsFlowReturnKeyword contained /\k\+/ contains=jsFlowType,jsFlowTypeCustom skipwhite skipempty nextgroup=jsFlowReturnGroup,jsFuncBlock,jsFlowReturnOrOp,jsFlowReturnArray
26+
syntax match jsFlowReturnMaybe contained /?/ skipwhite skipempty nextgroup=jsFlowReturnKeyword,jsFlowReturnObject,jsFlowReturnParens
27+
syntax region jsFlowReturnGroup contained matchgroup=jsFlowNoise start=/</ end=/>/ contains=@jsFlowCluster skipwhite skipempty nextgroup=jsFuncBlock,jsFlowReturnOrOp
28+
syntax match jsFlowReturnOrOp contained /\s*|\s*/ skipwhite skipempty nextgroup=@jsFlowReturnCluster
29+
syntax match jsFlowWildcardReturn contained /*/ skipwhite skipempty nextgroup=jsFuncBlock
30+
syntax keyword jsFlowTypeofReturn contained typeof skipempty skipwhite nextgroup=@jsFlowReturnCluster
31+
32+
syntax region jsFlowFunctionGroup contained matchgroup=jsFlowNoise start=/</ end=/>/ contains=@jsFlowCluster skipwhite skipempty nextgroup=jsFuncArgs
33+
syntax region jsFlowClassGroup contained matchgroup=jsFlowNoise start=/</ end=/>/ contains=@jsFlowCluster skipwhite skipempty nextgroup=jsClassBlock
34+
syntax region jsFlowClassFunctionGroup contained matchgroup=jsFlowNoise start=/</ end=/>/ contains=@jsFlowCluster skipwhite skipempty nextgroup=jsFuncArgs
35+
syntax match jsFlowObjectFuncName contained /\<\K\k*<\@=/ skipwhite skipempty nextgroup=jsFlowObjectGeneric containedin=jsObject
36+
37+
syntax region jsFlowTypeStatement start=/\(opaque\s\+\)\?type\%(\s\+\k\)\@=/ end=/=\@=/ contains=jsFlowTypeOperator oneline skipwhite skipempty nextgroup=jsFlowTypeValue keepend
38+
syntax region jsFlowTypeValue contained matchgroup=jsFlowNoise start=/=/ end=/\%(;\|\n\%(\s*|\)\@!\)/ contains=@jsFlowCluster,jsFlowGeneric,jsFlowMaybe
39+
syntax match jsFlowTypeOperator contained /=/ containedin=jsFlowTypeValue
40+
syntax match jsFlowTypeOperator contained /=/
41+
syntax keyword jsFlowTypeKeyword contained type
42+
43+
syntax keyword jsFlowDeclare declare skipwhite skipempty nextgroup=jsFlowTypeStatement,jsClassDefinition,jsStorageClass,jsFlowModule,jsFlowInterface
44+
syntax match jsFlowClassProperty contained /\<[0-9a-zA-Z_$]*\>:\@=/ skipwhite skipempty nextgroup=jsFlowClassDef containedin=jsClassBlock
45+
syntax region jsFlowClassDef contained start=/:/ end=/\%(\s*[,=;)\n]\)\@=/ contains=@jsFlowCluster skipwhite skipempty nextgroup=jsClassValue
46+
47+
syntax region jsFlowModule contained start=/module/ end=/\%({\|:\)\@=/ skipempty skipwhite nextgroup=jsFlowDeclareBlock contains=jsString
48+
syntax region jsFlowInterface contained start=/interface/ end=/{\@=/ skipempty skipwhite nextgroup=jsFlowInterfaceBlock contains=@jsFlowCluster
49+
syntax region jsFlowDeclareBlock contained matchgroup=jsFlowNoise start=/{/ end=/}/ contains=jsFlowDeclare,jsFlowNoise fold
50+
51+
syntax match jsFlowMaybe contained /?/
52+
syntax region jsFlowInterfaceBlock contained matchgroup=jsFlowNoise start=/{/ end=/}/ contains=jsObjectKey,jsObjectKeyString,jsObjectKeyComputed,jsObjectSeparator,jsObjectFuncName,jsFlowObjectFuncName,jsObjectMethodType,jsGenerator,jsComment,jsObjectStringKey,jsSpreadExpression,jsFlowNoise,jsFlowParens,jsFlowGeneric keepend fold
53+
54+
syntax region jsFlowParenAnnotation contained start=/:/ end=/[,=)]\@=/ containedin=jsParen contains=@jsFlowCluster
55+
56+
syntax cluster jsFlowReturnCluster contains=jsFlowNoise,jsFlowReturnObject,jsFlowReturnArray,jsFlowReturnKeyword,jsFlowReturnGroup,jsFlowReturnMaybe,jsFlowReturnOrOp,jsFlowWildcardReturn,jsFlowReturnArrow,jsFlowTypeofReturn
57+
syntax cluster jsFlowCluster contains=jsFlowArray,jsFlowObject,jsFlowExactObject,jsFlowNoise,jsFlowTypeof,jsFlowType,jsFlowGeneric,jsFlowMaybe,jsFlowParens,jsFlowOrOperator,jsFlowWildcard
58+
59+
if version >= 508 || !exists("did_javascript_syn_inits")
60+
if version < 508
61+
let did_javascript_syn_inits = 1
62+
command -nargs=+ HiLink hi link <args>
63+
else
64+
command -nargs=+ HiLink hi def link <args>
65+
endif
66+
HiLink jsFlowDefinition PreProc
67+
HiLink jsFlowClassDef jsFlowDefinition
68+
HiLink jsFlowArgumentDef jsFlowDefinition
69+
HiLink jsFlowType Type
70+
HiLink jsFlowTypeCustom PreProc
71+
HiLink jsFlowTypeof PreProc
72+
HiLink jsFlowTypeofReturn PreProc
73+
HiLink jsFlowArray PreProc
74+
HiLink jsFlowObject PreProc
75+
HiLink jsFlowExactObject PreProc
76+
HiLink jsFlowParens PreProc
77+
HiLink jsFlowGeneric PreProc
78+
HiLink jsFlowObjectGeneric jsFlowGeneric
79+
HiLink jsFlowReturn PreProc
80+
HiLink jsFlowParenAnnotation PreProc
81+
HiLink jsFlowReturnObject jsFlowReturn
82+
HiLink jsFlowReturnArray jsFlowArray
83+
HiLink jsFlowReturnParens jsFlowParens
84+
HiLink jsFlowReturnGroup jsFlowGeneric
85+
HiLink jsFlowFunctionGroup PreProc
86+
HiLink jsFlowClassGroup PreProc
87+
HiLink jsFlowClassFunctionGroup PreProc
88+
HiLink jsFlowArrow PreProc
89+
HiLink jsFlowReturnArrow PreProc
90+
HiLink jsFlowTypeStatement PreProc
91+
HiLink jsFlowTypeKeyword PreProc
92+
HiLink jsFlowTypeOperator Operator
93+
HiLink jsFlowMaybe PreProc
94+
HiLink jsFlowReturnMaybe PreProc
95+
HiLink jsFlowClassProperty jsClassProperty
96+
HiLink jsFlowDeclare PreProc
97+
HiLink jsFlowModule PreProc
98+
HiLink jsFlowInterface PreProc
99+
HiLink jsFlowNoise Noise
100+
HiLink jsFlowObjectKey jsObjectKey
101+
HiLink jsFlowOrOperator jsOperator
102+
HiLink jsFlowReturnOrOp jsFlowOrOperator
103+
HiLink jsFlowWildcard PreProc
104+
HiLink jsFlowWildcardReturn PreProc
105+
HiLink jsFlowImportType PreProc
106+
HiLink jsFlowTypeValue PreProc
107+
HiLink jsFlowObjectFuncName jsObjectFuncName
108+
delcommand HiLink
109+
endif

extras/jsdoc.vim

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
"" syntax coloring for javadoc comments (HTML)
2+
syntax region jsComment matchgroup=jsComment start="/\*\s*" end="\*/" contains=jsDocTags,jsCommentTodo,jsCvsTag,@jsHtml,@Spell fold
3+
4+
" tags containing a param
5+
syntax match jsDocTags contained "@\(alias\|api\|augments\|borrows\|class\|constructs\|default\|defaultvalue\|emits\|exception\|exports\|extends\|fires\|kind\|link\|listens\|member\|member[oO]f\|mixes\|module\|name\|namespace\|requires\|template\|throws\|var\|variation\|version\)\>" skipwhite nextgroup=jsDocParam
6+
" tags containing type and param
7+
syntax match jsDocTags contained "@\(arg\|argument\|cfg\|param\|property\|prop\|typedef\)\>" skipwhite nextgroup=jsDocType
8+
" tags containing type but no param
9+
syntax match jsDocTags contained "@\(callback\|define\|enum\|external\|implements\|this\|type\|return\|returns\|yields\)\>" skipwhite nextgroup=jsDocTypeNoParam
10+
" tags containing references
11+
syntax match jsDocTags contained "@\(lends\|see\|tutorial\)\>" skipwhite nextgroup=jsDocSeeTag
12+
" other tags (no extra syntax)
13+
syntax match jsDocTags contained "@\(abstract\|access\|accessor\|async\|author\|classdesc\|constant\|const\|constructor\|copyright\|deprecated\|desc\|description\|dict\|event\|example\|file\|file[oO]verview\|final\|function\|global\|ignore\|inherit[dD]oc\|inner\|instance\|interface\|license\|localdoc\|method\|mixin\|nosideeffects\|override\|overview\|preserve\|private\|protected\|public\|readonly\|since\|static\|struct\|todo\|summary\|undocumented\|virtual\)\>"
14+
15+
syntax region jsDocType contained matchgroup=jsDocTypeBrackets start="{" end="}" contains=jsDocTypeRecord oneline skipwhite nextgroup=jsDocParam
16+
syntax match jsDocType contained "\%(#\|\"\|\w\|\.\|:\|\/\)\+" skipwhite nextgroup=jsDocParam
17+
syntax region jsDocTypeRecord contained start=/{/ end=/}/ contains=jsDocTypeRecord extend
18+
syntax region jsDocTypeRecord contained start=/\[/ end=/\]/ contains=jsDocTypeRecord extend
19+
syntax region jsDocTypeNoParam contained start="{" end="}" oneline
20+
syntax match jsDocTypeNoParam contained "\%(#\|\"\|\w\|\.\|:\|\/\)\+"
21+
syntax match jsDocParam contained "\%(#\|\$\|-\|'\|\"\|{.\{-}}\|\w\|\.\|:\|\/\|\[.\{-}]\|=\)\+"
22+
syntax region jsDocSeeTag contained matchgroup=jsDocSeeTag start="{" end="}" contains=jsDocTags
23+
24+
if version >= 508 || !exists("did_javascript_syn_inits")
25+
if version < 508
26+
let did_javascript_syn_inits = 1
27+
command -nargs=+ HiLink hi link <args>
28+
else
29+
command -nargs=+ HiLink hi def link <args>
30+
endif
31+
HiLink jsDocTags Special
32+
HiLink jsDocSeeTag Function
33+
HiLink jsDocType Type
34+
HiLink jsDocTypeBrackets jsDocType
35+
HiLink jsDocTypeRecord jsDocType
36+
HiLink jsDocTypeNoParam Type
37+
HiLink jsDocParam Label
38+
delcommand HiLink
39+
endif

extras/ngdoc.vim

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
syntax match jsDocTags contained /@\(link\|method[oO]f\|ngdoc\|ng[iI]nject\|restrict\)/ nextgroup=jsDocParam skipwhite
2+
syntax match jsDocType contained "\%(#\|\$\|\w\|\"\|-\|\.\|:\|\/\)\+" nextgroup=jsDocParam skipwhite
3+
syntax match jsDocParam contained "\%(#\|\$\|\w\|\"\|-\|\.\|:\|{\|}\|\/\|\[\|]\|=\)\+"

ftdetect/flow.vim

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
autocmd BufNewFile,BufRead *.flow setfiletype flow

0 commit comments

Comments
 (0)