mirror of
https://github.com/leafOfTree/vim-vue-plugin.git
synced 2026-11-01 10:06:24 +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
|
||||
|
||||
- `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
|
||||
- The first item of syntax list will be used if no "lang=..."
|
||||
- For `.wpy`, `initial_indent` defaults to `['script', 'style']`
|
||||
|
||||
+3
-2
@@ -92,7 +92,7 @@ endfunction
|
||||
function! s:GetSyntaxLangName(syntax)
|
||||
let syntax = a:syntax
|
||||
if syntax == 'typescript'
|
||||
let syntax = 'ts'
|
||||
let syntax = '\(ts\|typescript\)'
|
||||
endif
|
||||
return syntax
|
||||
endfunction
|
||||
@@ -105,7 +105,8 @@ function! s:SetSyntax(block, syntax, has_lang)
|
||||
let name = s:GetSynatxName(block, syntax)
|
||||
if has_lang
|
||||
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
|
||||
let lang = ''
|
||||
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