diff options
| author | Ian Jauslin <ian@jauslin.org> | 2022-06-14 09:26:07 +0200 | 
|---|---|---|
| committer | Ian Jauslin <ian@jauslin.org> | 2022-06-14 09:46:36 +0200 | 
| commit | 3f0510629e422e979b57d3f93791937912a4183a (patch) | |
| tree | bf2589b2689044261b0cd4d9e6b3082194fdd9e9 /editors/vim/syntax | |
| parent | 469bdc80712dbf9c12562059dc4594620b59a076 (diff) | |
  The update to version 1.5 is rather substantial, and introduces some minor
  backward-incompatibilities:
    * The header "#!symbols" has been replaced by "#!virtual_fields"
    * Multiplying polynomials using the '*' symbol is no longer supported (or,
      rather, the symbolic capabilities of meankondo were enhanced, and the
      syntax has been changed).
    * 'meantools exp' has been removed (its functionality is now handled by
      other means)
    * 'meantoolds derive' has been replaced by 'meantools differentiate'
  * The symbolic capabilities were enhanced: polynomials can now be
    multiplied, added, exponentiated, and their logarithms can be taken
    directly in the configuration file.
  * The flow equation can now be processed after being computed using the
    various "#!postprocess_*" entries.
  * Deprecated kondo_preprocess.
  * Compute the mean using an LU decomposition if possible.
  * More detailed checks for syntax errors in configuration file.
  * Check that different '#!group' entries are indeed uncorrelated.
  * New flags in meankondo: '-p' and '-A'.
  * New tool: meantools expand.
  * Improve conversion to LaTeX using meantools-convert
  * Assign terms randomly to different threads.
  * Created vim files to implement syntax highlighting for configuration
    files.
  * Multiple bug fixes
Diffstat (limited to 'editors/vim/syntax')
| -rw-r--r-- | editors/vim/syntax/meankondo.vim | 111 | 
1 files changed, 111 insertions, 0 deletions
diff --git a/editors/vim/syntax/meankondo.vim b/editors/vim/syntax/meankondo.vim new file mode 100644 index 0000000..bf94c0d --- /dev/null +++ b/editors/vim/syntax/meankondo.vim @@ -0,0 +1,111 @@ +" Vim syntax file +" Language:     meankondo +" Maintainer:   Ian Jauslin <ian.jauslin@roma1.infn.it> +" Last Change:  2022-06-06 +" URL:          http://ian.jauslin.org/software/meankondo +" + +if exists("b:current_syntax") +  finish +endif + +" Comments +syn match Comment '#.*' + +" Regions +syn region FieldsRegion        matchgroup=configHeader start='#!fields'                 end='&' transparent contains=Comment,Separator,FieldHeader,FieldInField,Equal +syn region VariablesRegion    matchgroup=configHeader start='#!preprocessor_variables' end='&' transparent contains=@Globals,VariableHeader +syn region IdTableRegion      matchgroup=configHeader start='#!id_table'               end='&' transparent contains=@Globals,RegionHeader +syn region SymbolsRegion      matchgroup=configHeader start='#!symbols'                end='&' transparent contains=@Globals,VariableHeader +syn region PolynomialRegion   matchgroup=configHeader start='#!input_polynomial'       end='&' transparent +syn region PolynomialRegion   matchgroup=configHeader start='#!postprocess_operation'       end='&' transparent +syn region PolynomialRegion   matchgroup=configHeader start='#!postprocess_flow_equation'       end='&' transparent +syn region PolynomialRegion   matchgroup=configHeader start='#!numerical_postprocess_operation'       end='&' transparent +syn region PropagatorRegion   matchgroup=configHeader start='#!propagator'             end='&' transparent contains=Comment,Number,NumberBase,Separator,FieldInProp,Equal,NumberInProp +syn region IdentitiesRegion   matchgroup=configHeader start='#!identities'             end='&' transparent +syn region GroupsRegion       matchgroup=configHeader start='#!groups'                 end='&' transparent contains=Comment,Separator,FieldHeader,FieldInField,Equal,GroupParenthesis +syn region LabelsRegion       matchgroup=configHeader start='#!labels'                 end='&' transparent contains=String,RegionHeader,Separator,Comment,Equal +syn region FlowEquationRegion matchgroup=configHeader start='#!flow_equation'          end='&' transparent +syn region InitCdRegion       matchgroup=configHeader start='#!initial_condition'      end='&' transparent contains=Comment,Separator,RegionHeader,Equal,NumberInInit,InitHeader +syn region DerivVarsRegion    matchgroup=configHeader start='#!variables'              end='&' transparent  contains=Comment,Separator,FieldHeader,FieldInField,Equal,VarAll + +" Generic syntax +syn match Field '\[f[-0-9]\+\]' +syn match Factor '\[l[-0-9]\+\]' +syn match Factor '\[d*% *[-0-9]\+\]' contains=Deriv +syn match ConstantF '\[d*C *[0-9]\+\]' contains=Deriv +syn match ConstantD '\[/C *[0-9]\+ *\^ *[0-9]\+\]' +syn match Deriv 'd' contained +syn match Variables '\$[^>]*' +syn match Number '<[-/0-9]*>' +syn match Number '([-/0-9]*)' +syn match NumberBase 's{[-/0-9]*}' +syn match NumberBase '(s{[-/0-9]*})' +syn match Operator '[*+]' +syn match Operator '%exp' +syn match Operator '%log_1' +syn match Separator ',' +syn match Equal '[:=]' + +syn cluster Globals contains=Comment,Field,Factor,Constant,Variables,Number,NumberBase,Operator,Separator,Equal + +" Fields +syn keyword FieldHeader i contained +syn keyword FieldHeader x contained +syn keyword FieldHeader h contained +syn keyword FieldHeader f contained +syn keyword FieldHeader a contained +syn match FieldInField '[-0-9]\+' contained + +" Variables +syn match VariableHeader '^[^=,]*='he=e-1 contained contains=Equal + +" Groups +syn match GroupParenthesis '[()]' contained + +" Propagator +syn match FieldInProp '[0-9]\+ *[;:]'he=e-1 contained contains=Equal,NumberInProp +syn match NumberInProp ': *[-/()0-9s{}]*'hs=s+1 contained + +" IdTable +syn match RegionHeader '[0-9]\+:'he=e-1 contained contains=Equal + +" Labels +syn match String '"[^"]*"'hs=s+1,he=e-1 contained + +" Initial condition +syn match InitHeader '[0-9]\+:'he=e-1 contained contains=Equal,NumberInInit +syn match NumberInInit ': *[-.e0-9]*'hs=s+1 contained + +" Variables +syn keyword VarAll all contained + + +" Colors +hi Comment         ctermfg=cyan +hi configHeader    ctermfg=red +hi Field           ctermfg=Lightblue +hi Factor          ctermfg=Lightblue +hi ConstantF       ctermfg=Lightblue +hi ConstantD       ctermfg=Lightgreen +hi Deriv           ctermfg=red +hi Header          ctermfg=Lightgreen +hi Variables       ctermfg=yellow +hi Number          ctermfg=green +hi NumberBase      ctermfg=green +hi Separator       ctermfg=red +hi Equal           ctermfg=Lightred +hi Operator        ctermfg=magenta +hi String          ctermfg=magenta +hi NumberInInit    ctermfg=magenta + +hi def link FieldInField     Field +hi def link VariableHeader   Variables +hi def link FieldInProp      Field +hi def link FieldHeader      Header +hi def link NumberInProp     Number +hi def link SeparatorInProp  Separator +hi def link RegionHeader     Header +hi def link InitHeader       Header +hi def link GroupParenthesis Separator +hi def link VarAll           Field  | 
