Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions syntax/vim/syntax/sailfish.vim
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,23 @@
" Maintainer: Ryohei Machida <orcinus4627@gmail.com>
" License: MIT

let main_syntax = 'sailfish'
runtime! syntax/html.vim
unlet b:current_syntax

syn include @rustSyntax syntax/rust.vim
unlet b:current_syntax

syn include @cppSyntax syntax/cpp.vim

syn region sailfishCodeBlock matchgroup=sailfishTag start=/<%/ keepend end=/%>/ contains=@rustSyntax
syn region sailfishBufferBlock matchgroup=sailfishTag start=/<%=/ keepend end=/%>/ contains=@rustSyntax
syn region sailfishCommentBlock start=/<%#/ end=/%>/

syn region sailfishLanguageBlockCpp matchgroup=sailfishTag start=/<%#\s*#language:cpp\s*%>/ keepend end=/<%#\s*#endlanguage\s*%>/ contains=@cppSyntax,sailfishCodeBlock,sailfishBufferBlock,sailfishCommentBlock
syn region sailfishLanguageBlockRust matchgroup=sailfishTag start=/<%#\s*#language:rust\s*%>/ keepend end=/<%#\s*#endlanguage\s*%>/ contains=@rustSyntax,sailfishCodeBlock,sailfishBufferBlock,sailfishCommentBlock


" Redefine htmlTag so that it can contain jspExpr
syn clear htmlString
syn region htmlString contained start=+"+ end=+"+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc,sailfishCodeBlock,sailfishBufferBlock
Expand Down
78 changes: 77 additions & 1 deletion syntax/vscode/syntaxes/sailfish.tmLanguage.json
Original file line number Diff line number Diff line change
Expand Up @@ -356,6 +356,9 @@
},
"name": "sailfish",
"patterns": [
{
"include": "#languagemarkerblock"
},
{
"include": "#commentblock"
},
Expand All @@ -367,6 +370,79 @@
}
],
"repository": {
"languagemarkerblock": {
"patterns": [
{
"name": "meta.block.embedded.cpp",
"begin": "<(%|\\?)#\\s*#language:cpp\\s*(%|\\?)>",
"beginCaptures": {
"0": {
"name": "punctuation.definition.tag.begin.html"
}
},
"end": "<(%|\\?)#\\s*#endlanguage\\s*(%|\\?)>",
"endCaptures": {
"0": {
"name": "punctuation.definition.tag.end.html"
}
},
"patterns": [
{
"include": "$self"
},
{
"include": "source.cpp"
}
]
},
{
"name": "meta.block.embedded.rust",
"begin": "<(%|\\?)#\\s*#language:rust\\s*(%|\\?)>",
"beginCaptures": {
"0": {
"name": "punctuation.definition.tag.begin.html"
}
},
"end": "<(%|\\?)#\\s*#endlanguage\\s*(%|\\?)>",
"endCaptures": {
"0": {
"name": "punctuation.definition.tag.end.html"
}
},
"patterns": [
{
"include": "$self"
},
{
"include": "source.rust"
}
]
},
{
"name": "meta.block.embedded.html",
"begin": "<(%|\\?)#\\s*#language:html\\s*(%|\\?)>",
"beginCaptures": {
"0": {
"name": "punctuation.definition.tag.begin.html"
}
},
"end": "<(%|\\?)#\\s*#endlanguage\\s*(%|\\?)>",
"endCaptures": {
"0": {
"name": "punctuation.definition.tag.end.html"
}
},
"patterns": [
{
"include": "$self"
},
{
"include": "text.html.basic"
}
]
}
]
},
"commentblock": {
"patterns": [
{
Expand All @@ -384,7 +460,7 @@
"codeblock": {
"patterns": [
{
"name": "source.rust.embedded.html",
"name": "meta.block.embedded.rust",
"begin": "<(%|\\?)(=|-)?",
"beginCaptures": {
"0": {
Expand Down