summaryrefslogtreecommitdiff
path: root/ftplugin
diff options
context:
space:
mode:
authorMartin Bielik <mx.bielik@gmail.com>2023-04-10 10:29:00 +0200
committerMartin Bielik <mx.bielik@gmail.com>2023-04-10 10:29:00 +0200
commite7a16f5484b74e49dc51a4a0db81566565eae105 (patch)
treedd548be2a1de4b5bb1e5168ae40d900fc821b50b /ftplugin
parente0c2ed98264372476ca081eca18ffef17337c869 (diff)
downloadvim-ai-e7a16f5484b74e49dc51a4a0db81566565eae105.tar.gz
chat options highlighting
Diffstat (limited to 'ftplugin')
-rw-r--r--ftplugin/aichat.vim18
1 files changed, 17 insertions, 1 deletions
diff --git a/ftplugin/aichat.vim b/ftplugin/aichat.vim
index 33b8141..54c022e 100644
--- a/ftplugin/aichat.vim
+++ b/ftplugin/aichat.vim
@@ -68,6 +68,21 @@ function! s:MarkdownHighlightSources(force)
endfor
endfunction
+function! s:MarkdownHighlightChatOptions(force)
+ " use jproperties syntax to highlight chat options
+ let filetype = 'jproperties'
+ if a:force || !has_key(b:aichat_known_filetypes, filetype)
+ if !has_key(b:aichat_included_filetypes, filetype)
+ let include = s:SyntaxInclude(filetype)
+ let b:aichat_included_filetypes[filetype] = 1
+ else
+ let include = '@' . toupper(filetype)
+ endif
+ syntax region aichatOptions start="\[chat-options\]" end="^$" contains=@JPROPERTIES
+ let b:aichat_known_filetypes[filetype] = 1
+ endif
+endfunction
+
function! s:SyntaxInclude(filetype)
" Include the syntax highlighting of another {filetype}.
let grouplistname = '@' . toupper(a:filetype)
@@ -92,7 +107,6 @@ function! s:SyntaxInclude(filetype)
return grouplistname
endfunction
-
function! s:IsHighlightSourcesEnabledForBuffer()
" Enable for markdown buffers, and for liquid buffers with markdown format
return &filetype =~# 'aichat' || get(b:, 'liquid_subtype', '') =~# 'aichat'
@@ -101,7 +115,9 @@ endfunction
function! s:MarkdownRefreshSyntax(force)
if g:vim_ai_chat_default['ui']['code_syntax_enabled'] && &filetype =~# 'aichat'
call s:MarkdownHighlightSources(a:force)
+ call s:MarkdownHighlightChatOptions(a:force)
endif
+
endfunction
function! s:MarkdownClearSyntaxVariables()