mirror of
https://github.com/leafOfTree/vim-vue-plugin.git
synced 2026-11-03 19:07:35 +08:00
Merge pull request #47 from leafOfTree/lang-attr
Allow lang without quotes and lang="typescript"
This commit is contained in:
4 files changed
+42
-3
No files matched your search
@@ -134,7 +134,8 @@ let g:vim_vue_plugin_config.foldexpr = 0
|
|||||||
|
|
||||||
Note
|
Note
|
||||||
|
|
||||||
- `typescript` matches `lang="ts"`
|
- `typescript` matches `lang="ts"` and `lang="typescript"`
|
||||||
|
- `lang` can be in double or single quotes, or without quotes
|
||||||
- `list` options can be `string` if only one
|
- `list` options can be `string` if only one
|
||||||
- The first item of syntax list will be used if no "lang=..."
|
- The first item of syntax list will be used if no "lang=..."
|
||||||
- For `.wpy`, `initial_indent` defaults to `['script', 'style']`
|
- For `.wpy`, `initial_indent` defaults to `['script', 'style']`
|
||||||
|
|||||||
+3
-2
@@ -92,7 +92,7 @@ endfunction
|
|||||||
function! s:GetSyntaxLangName(syntax)
|
function! s:GetSyntaxLangName(syntax)
|
||||||
let syntax = a:syntax
|
let syntax = a:syntax
|
||||||
if syntax == 'typescript'
|
if syntax == 'typescript'
|
||||||
let syntax = 'ts'
|
let syntax = '\(ts\|typescript\)'
|
||||||
endif
|
endif
|
||||||
return syntax
|
return syntax
|
||||||
endfunction
|
endfunction
|
||||||
@@ -105,7 +105,8 @@ function! s:SetSyntax(block, syntax, has_lang)
|
|||||||
let name = s:GetSynatxName(block, syntax)
|
let name = s:GetSynatxName(block, syntax)
|
||||||
if has_lang
|
if has_lang
|
||||||
let lang_name = s:GetSyntaxLangName(syntax)
|
let lang_name = s:GetSyntaxLangName(syntax)
|
||||||
let lang = 'lang=["'']'.lang_name.'["'']'
|
" In double or single quotes, or without quotes
|
||||||
|
let lang = 'lang=["'']\?'.lang_name.'\>["'']\?'
|
||||||
else
|
else
|
||||||
let lang = ''
|
let lang = ''
|
||||||
endif
|
endif
|
||||||
|
|||||||
@@ -0,0 +1,17 @@
|
|||||||
|
" lang in double or single quotes or without quotes, and
|
||||||
|
" lang="typescript"
|
||||||
|
let g:vim_vue_plugin_config = {
|
||||||
|
\'syntax': {
|
||||||
|
\ 'template': ['html'],
|
||||||
|
\ 'script': ['javascript', 'typescript'],
|
||||||
|
\ 'style': ['css', 'scss', 'sass'],
|
||||||
|
\},
|
||||||
|
\}
|
||||||
|
|
||||||
|
function! Check()
|
||||||
|
call ExpectEqual(GetVueSyntax(), 'html', 'syntax at line 1')
|
||||||
|
call ExpectBlock('let a', 'script', 'typescript', 'typescriptScriptBlock')
|
||||||
|
call ExpectBlock('let b', 'script', 'typescript', 'typescriptScriptBlock')
|
||||||
|
call ExpectBlock('$c', 'style', 'scss', 'cssScssStyleBlock')
|
||||||
|
call ExpectBlock('color: red', 'style', 'sass', 'sassStyleBlock')
|
||||||
|
endfunction
|
||||||
@@ -0,0 +1,20 @@
|
|||||||
|
<template lang=html>
|
||||||
|
<div>x</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script lang=ts>
|
||||||
|
let a: number = 1
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<script lang="typescript">
|
||||||
|
let b: number = 2
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang='scss'>
|
||||||
|
$c: 1px;
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<style lang=sass>
|
||||||
|
p
|
||||||
|
color: red
|
||||||
|
</style>
|
||||||
Reference in new issue
Block a user