mirror of
https://github.com/neovim/neovim.git
synced 2024-12-20 19:25:11 -07:00
a98a6996c2
Vim runtime files based on 7.4.384 / hg changeset 7090d7f160f7 Excluding: Amiga icons (*.info, icons/) doc/hangulin.txt tutor/ spell/ lang/ (only used for menu translations) macros/maze/, macros/hanoi/, macros/life/, macros/urm/ These were used to test vi compatibility. termcap "Demonstration of a termcap file (for the Amiga and Archimedes)" Helped-by: Rich Wareham <rjw57@cam.ac.uk> Helped-by: John <john.schmidt.h@gmail.com> Helped-by: Yann <yann@yann-salaun.com> Helped-by: Christophe Badoit <c.badoit@lesiteimmo.com> Helped-by: drasill <github@tof2k.com> Helped-by: Tae Sandoval Murgan <taecilla@gmail.com> Helped-by: Lowe Thiderman <lowe.thiderman@gmail.com>
111 lines
4.0 KiB
VimL
111 lines
4.0 KiB
VimL
" Vim syntax file
|
|
" Language: JOVIAL J73
|
|
" Version: 1.2
|
|
" Maintainer: Paul McGinnis <paulmcg@aol.com>
|
|
" Last Change: 2011/06/17
|
|
" Remark: Based on MIL-STD-1589C for JOVIAL J73 language
|
|
|
|
" Quit when a (custom) syntax file was already loaded
|
|
if exists("b:current_syntax")
|
|
finish
|
|
endif
|
|
|
|
syn case ignore
|
|
|
|
syn keyword jovialTodo TODO FIXME XXX contained
|
|
|
|
" JOVIAL beads - first digit is number of bits, [0-9A-V] is the bit value
|
|
" representing 0-31 (for 5 bits on the bead)
|
|
syn match jovialBitConstant "[1-5]B'[0-9A-V]'"
|
|
|
|
syn match jovialNumber "\<\d\+\>"
|
|
|
|
syn match jovialFloat "\d\+E[-+]\=\d\+"
|
|
syn match jovialFloat "\d\+\.\d*\(E[-+]\=\d\+\)\="
|
|
syn match jovialFloat "\.\d\+\(E[-+]\=\d\+\)\="
|
|
|
|
syn region jovialComment start=/"/ end=/"/ contains=jovialTodo
|
|
syn region jovialComment start=/%/ end=/%/ contains=jovialTodo
|
|
|
|
" JOVIAL variable names. This rule is to prevent conflicts with strings.
|
|
" Handle special case where ' character can be part of a JOVIAL variable name.
|
|
syn match jovialIdentifier "[A-Z\$][A-Z0-9'\$]\+"
|
|
|
|
syn region jovialString start="\s*'" skip=/''/ end=/'/ oneline
|
|
|
|
" JOVIAL compiler directives -- see Section 9 in MIL-STD-1589C
|
|
syn region jovialPreProc start="\s*![A-Z]\+" end=/;/
|
|
|
|
syn keyword jovialOperator AND OR NOT XOR EQV MOD
|
|
|
|
" See Section 2.1 in MIL-STD-1589C for data types
|
|
syn keyword jovialType ITEM B C P V
|
|
syn match jovialType "\<S\(,R\|,T\|,Z\)\=\>"
|
|
syn match jovialType "\<U\(,R\|,T\|,Z\)\=\>"
|
|
syn match jovialType "\<F\(,R\|,T\|,Z\)\=\>"
|
|
syn match jovialType "\<A\(,R\|,T\|,Z\)\=\>"
|
|
|
|
syn keyword jovialStorageClass STATIC CONSTANT PARALLEL BLOCK N M D W
|
|
|
|
syn keyword jovialStructure TABLE STATUS
|
|
|
|
syn keyword jovialConstant NULL
|
|
|
|
syn keyword jovialBoolean FALSE TRUE
|
|
|
|
syn keyword jovialTypedef TYPE
|
|
|
|
syn keyword jovialStatement ABORT BEGIN BY BYREF BYRES BYVAL CASE COMPOOL
|
|
syn keyword jovialStatement DEF DEFAULT DEFINE ELSE END EXIT FALLTHRU FOR
|
|
syn keyword jovialStatement GOTO IF INLINE INSTANCE LABEL LIKE OVERLAY POS
|
|
syn keyword jovialStatement PROC PROGRAM REC REF RENT REP RETURN START STOP
|
|
syn keyword jovialStatement TERM THEN WHILE
|
|
|
|
" JOVIAL extensions, see section 8.2.2 in MIL-STD-1589C
|
|
syn keyword jovialStatement CONDITION ENCAPSULATION EXPORTS FREE HANDLER IN INTERRUPT NEW
|
|
syn keyword jovialStatement PROTECTED READONLY REGISTER SIGNAL TO UPDATE WITH WRITEONLY ZONE
|
|
|
|
" implementation specific constants and functions, see section 1.4 in MIL-STD-1589C
|
|
syn keyword jovialConstant BITSINBYTE BITSINWORD LOCSINWORD
|
|
syn keyword jovialConstant BYTESINWORD BITSINPOINTER INTPRECISION
|
|
syn keyword jovialConstant FLOATPRECISION FIXEDPRECISION FLOATRADIX
|
|
syn keyword jovialConstant MAXFLOATPRECISION MAXFIXEDPRECISION
|
|
syn keyword jovialConstant MAXINTSIZE MAXBYTES MAXBITS
|
|
syn keyword jovialConstant MAXTABLESIZE MAXSTOP MINSTOP MAXSIGDIGITS
|
|
syn keyword jovialFunction BYTEPOS MAXINT MININT
|
|
syn keyword jovialFunction IMPLFLOATPRECISION IMPLFIXEDPRECISION IMPLINTSIZE
|
|
syn keyword jovialFunction MINSIZE MINFRACTION MINSCALE MINRELPRECISION
|
|
syn keyword jovialFunction MAXFLOAT MINFLOAT FLOATRELPRECISION
|
|
syn keyword jovialFunction FLOATUNDERFLOW MAXFIXED MINFIXED
|
|
|
|
" JOVIAL built-in functions
|
|
syn keyword jovialFunction LOC NEXT BIT BYTE SHIFTL SHIFTR ABS SGN BITSIZE
|
|
syn keyword jovialFunction BYTESIZE WORDSIZE LBOUND UBOUND NWDSEN FIRST
|
|
syn keyword jovialFunction LAST NENT
|
|
|
|
" Define the default highlighting.
|
|
hi def link jovialBitConstant Number
|
|
hi def link jovialBoolean Boolean
|
|
hi def link jovialComment Comment
|
|
hi def link jovialConstant Constant
|
|
hi def link jovialFloat Float
|
|
hi def link jovialFunction Function
|
|
" No color highlighting for JOVIAL identifiers. See above,
|
|
" this is to prevent confusion with JOVIAL strings
|
|
"hi def link jovialIdentifier Identifier
|
|
hi def link jovialNumber Number
|
|
hi def link jovialOperator Operator
|
|
hi def link jovialPreProc PreProc
|
|
hi def link jovialStatement Statement
|
|
hi def link jovialStorageClass StorageClass
|
|
hi def link jovialString String
|
|
hi def link jovialStructure Structure
|
|
hi def link jovialTodo Todo
|
|
hi def link jovialType Type
|
|
hi def link jovialTypedef Typedef
|
|
|
|
|
|
let b:current_syntax = "jovial"
|
|
|
|
" vim: ts=8
|