Skip to content
Merged
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
1 change: 1 addition & 0 deletions ftplugin/sema.vim
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ setlocal lispwords+=let,let*,letrec,begin,progn,do,while
setlocal lispwords+=let-values,let*-values,define-values,define-syntax
setlocal lispwords+=match,match*,defmulti,defmethod,async,await
setlocal lispwords+=define-record-type,defmacro,defagent,deftool
setlocal lispwords+=defworkflow,defpolicy,policy/without
setlocal lispwords+=try,catch
setlocal lispwords+=module
setlocal lispwords+=set!,throw,import,load,delay,force
Expand Down
26 changes: 23 additions & 3 deletions syntax/sema.vim
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ syn keyword semaSpecial let let* letrec begin progn do while and or
syn keyword semaSpecial let-values let*-values define-values define-syntax
syn keyword semaSpecial match match* defmulti defmethod async await
syn keyword semaSpecial set! quote quasiquote unquote unquote-splicing
syn keyword semaSpecial define-record-type defmacro defagent deftool
syn keyword semaSpecial define-record-type defmacro defagent deftool defworkflow defpolicy
syn keyword semaSpecial try catch throw
syn keyword semaSpecial import module export load
syn keyword semaSpecial delay force eval macroexpand with-budget else
Expand All @@ -62,8 +62,8 @@ syn match semaDefineVar /\v\(%(define|def)\s+\zs[a-zA-Z!$%&*+\-./:<=>?@^~_][a-zA
" (define (name ...) ...) — function definition
syn match semaDefineFun /\v\(%(define|def)\s+\(\zs[a-zA-Z!$%&*+\-./:<=>?@^~_][a-zA-Z0-9!$%&*+\-./:<=>?@^~_]*/

" (defun name ...) / (defmacro name ...) / (defagent name ...) / (deftool name ...)
syn match semaDefineFun /\v\(%(defun|defn|defmacro|defmulti|defmethod|defagent|deftool)\s+\zs[a-zA-Z!$%&*+\-./:<=>?@^~_][a-zA-Z0-9!$%&*+\-./:<=>?@^~_]*/
" Named definition forms
syn match semaDefineFun /\v\(%(defun|defn|defmacro|defmulti|defmethod|defagent|deftool|defworkflow|defpolicy)\s+\zs[a-zA-Z!$%&*+\-./:<=>?@^~_][a-zA-Z0-9!$%&*+\-./:<=>?@^~_]*/

" (set! name value)
syn match semaSetTarget /\v\(set!\s+\zs[a-zA-Z!$%&*+\-./:<=>?@^~_][a-zA-Z0-9!$%&*+\-./:<=>?@^~_]*/
Expand Down Expand Up @@ -140,6 +140,7 @@ syn match semaBuiltin /\v<embedding\/ref>/
syn match semaBuiltin /\v<tool\/name>/
syn match semaBuiltin /\v<tool\/description>/
syn match semaBuiltin /\v<tool\/parameters>/
syn match semaBuiltin /\v<tool\/policy-subjects>/

" I/O
syn keyword semaBuiltin display print println newline format read
Expand Down Expand Up @@ -443,6 +444,25 @@ syn match semaBuiltin /\v<sys\/tty>/
syn match semaBuiltin /\v<sys\/user>/
syn match semaBuiltin /\v<sys\/which>/

" Workflow and policy forms
syn keyword semaBuiltin approval checkpoint parallel phase pipeline step
syn match semaBuiltin /\v<parallel-settled>/
syn match semaBuiltin /\v<pipeline-settled>/
syn match semaBuiltin /\v<policy\/without>/
syn match semaBuiltin /\v<settled-partition>/
syn match semaBuiltin /\v<settled\/err\?>/
syn match semaBuiltin /\v<settled\/ok\?>/
syn match semaBuiltin /\v<workflow\/approval>/
syn match semaBuiltin /\v<workflow\/check>/
syn match semaBuiltin /\v<workflow\/checkpoint>/
syn match semaBuiltin /\v<workflow\/phase>/
syn match semaBuiltin /\v<workflow\/policy-without>/
syn match semaBuiltin /\v<workflow\/run>/
syn match semaBuiltin /\v<workflow\/run-form>/
syn match semaBuiltin /\v<workflow\/step>/
syn match semaBuiltin /\v<workflow\/tool-call>/
syn match semaBuiltin /\v<workflow\/tool-result>/

" Terminal functions
syn match semaBuiltin /\v<term\/style>/
syn match semaBuiltin /\v<term\/strip>/
Expand Down
Loading