mirror of
https://github.com/neovim/neovim.git
synced 2026-01-03 01:46:31 +10:00
This reverts commits:
- 6b652a785033fd4164e049492a7327c1ed7c3e5f
- 2f689d5abde0ccddca9e20d8c93a0299bd054e32
- a025a46d4169587145fb54f04af349cd05cb6122
Several email addresses that are known to be valid caused bounces
due to an issue with my email setup. The previous commits incorrectly
marked these addresses as invalid. So revert the whole thing again.
62d8f3dab5
N/A patch:
vim-patch:2f689d5: runtime: mark more invalid email addresses
Co-authored-by: Christian Brabandt <cb@256bit.org>
366 lines
14 KiB
VimL
366 lines
14 KiB
VimL
" Vim syntax file
|
|
" Language: NQC - Not Quite C, for LEGO mindstorms
|
|
" NQC homepage: http://www.enteract.com/~dbaum/nqc/
|
|
" Maintainer: Stefan Scherer <stefan@enotes.de>
|
|
" Last Change: 2001 May 10
|
|
" URL: http://www.enotes.de/twiki/pub/Home/LegoMindstorms/nqc.vim
|
|
" Filenames: .nqc
|
|
|
|
" quit when a syntax file was already loaded
|
|
if exists("b:current_syntax")
|
|
finish
|
|
endif
|
|
|
|
" Statements
|
|
syn keyword nqcStatement break return continue start stop abs sign
|
|
syn keyword nqcStatement sub task
|
|
syn keyword nqcLabel case default
|
|
syn keyword nqcConditional if else switch
|
|
syn keyword nqcRepeat while for do until repeat
|
|
|
|
" Scout and RCX2
|
|
syn keyword nqcEvents acquire catch monitor
|
|
|
|
" types and classes
|
|
syn keyword nqcType int true false void
|
|
syn keyword nqcStorageClass asm const inline
|
|
|
|
|
|
|
|
" Sensors --------------------------------------------
|
|
" Input Sensors
|
|
syn keyword nqcConstant SENSOR_1 SENSOR_2 SENSOR_3
|
|
|
|
" Types for SetSensorType()
|
|
syn keyword nqcConstant SENSOR_TYPE_TOUCH SENSOR_TYPE_TEMPERATURE
|
|
syn keyword nqcConstant SENSOR_TYPE_LIGHT SENSOR_TYPE_ROTATION
|
|
syn keyword nqcConstant SENSOR_LIGHT SENSOR_TOUCH
|
|
|
|
" Modes for SetSensorMode()
|
|
syn keyword nqcConstant SENSOR_MODE_RAW SENSOR_MODE_BOOL
|
|
syn keyword nqcConstant SENSOR_MODE_EDGE SENSOR_MODE_PULSE
|
|
syn keyword nqcConstant SENSOR_MODE_PERCENT SENSOR_MODE_CELSIUS
|
|
syn keyword nqcConstant SENSOR_MODE_FAHRENHEIT SENSOR_MODE_ROTATION
|
|
|
|
" Sensor configurations for SetSensor()
|
|
syn keyword nqcConstant SENSOR_TOUCH SENSOR_LIGHT SENSOR_ROTATION
|
|
syn keyword nqcConstant SENSOR_CELSIUS SENSOR_FAHRENHEIT SENSOR_PULSE
|
|
syn keyword nqcConstant SENSOR_EDGE
|
|
|
|
" Functions - All
|
|
syn keyword nqcFunction ClearSensor
|
|
syn keyword nqcFunction SensorValue SensorType
|
|
|
|
" Functions - RCX
|
|
syn keyword nqcFunction SetSensor SetSensorType
|
|
syn keyword nqcFunction SensorValueBool
|
|
|
|
" Functions - RCX, CyberMaster
|
|
syn keyword nqcFunction SetSensorMode SensorMode
|
|
|
|
" Functions - RCX, Scout
|
|
syn keyword nqcFunction SensorValueRaw
|
|
|
|
" Functions - Scout
|
|
syn keyword nqcFunction SetSensorLowerLimit SetSensorUpperLimit
|
|
syn keyword nqcFunction SetSensorHysteresis CalibrateSensor
|
|
|
|
|
|
" Outputs --------------------------------------------
|
|
" Outputs for On(), Off(), etc.
|
|
syn keyword nqcConstant OUT_A OUT_B OUT_C
|
|
|
|
" Modes for SetOutput()
|
|
syn keyword nqcConstant OUT_ON OUT_OFF OUT_FLOAT
|
|
|
|
" Directions for SetDirection()
|
|
syn keyword nqcConstant OUT_FWD OUT_REV OUT_TOGGLE
|
|
|
|
" Output power for SetPower()
|
|
syn keyword nqcConstant OUT_LOW OUT_HALF OUT_FULL
|
|
|
|
" Functions - All
|
|
syn keyword nqcFunction SetOutput SetDirection SetPower OutputStatus
|
|
syn keyword nqcFunction On Off Float Fwd Rev Toggle
|
|
syn keyword nqcFunction OnFwd OnRev OnFor
|
|
|
|
" Functions - RXC2, Scout
|
|
syn keyword nqcFunction SetGlobalOutput SetGlobalDirection SetMaxPower
|
|
syn keyword nqcFunction GlobalOutputStatus
|
|
|
|
|
|
" Sound ----------------------------------------------
|
|
" Sounds for PlaySound()
|
|
syn keyword nqcConstant SOUND_CLICK SOUND_DOUBLE_BEEP SOUND_DOWN
|
|
syn keyword nqcConstant SOUND_UP SOUND_LOW_BEEP SOUND_FAST_UP
|
|
|
|
" Functions - All
|
|
syn keyword nqcFunction PlaySound PlayTone
|
|
|
|
" Functions - RCX2, Scout
|
|
syn keyword nqcFunction MuteSound UnmuteSound ClearSound
|
|
syn keyword nqcFunction SelectSounds
|
|
|
|
|
|
" LCD ------------------------------------------------
|
|
" Modes for SelectDisplay()
|
|
syn keyword nqcConstant DISPLAY_WATCH DISPLAY_SENSOR_1 DISPLAY_SENSOR_2
|
|
syn keyword nqcConstant DISPLAY_SENSOR_3 DISPLAY_OUT_A DISPLAY_OUT_B
|
|
syn keyword nqcConstant DISPLAY_OUT_C
|
|
" RCX2
|
|
syn keyword nqcConstant DISPLAY_USER
|
|
|
|
" Functions - RCX
|
|
syn keyword nqcFunction SelectDisplay
|
|
" Functions - RCX2
|
|
syn keyword nqcFunction SetUserDisplay
|
|
|
|
|
|
" Communication --------------------------------------
|
|
" Messages - RCX, Scout ------------------------------
|
|
" Tx power level for SetTxPower()
|
|
syn keyword nqcConstant TX_POWER_LO TX_POWER_HI
|
|
|
|
" Functions - RCX, Scout
|
|
syn keyword nqcFunction Message ClearMessage SendMessage SetTxPower
|
|
|
|
" Serial - RCX2 --------------------------------------
|
|
" for SetSerialComm()
|
|
syn keyword nqcConstant SERIAL_COMM_DEFAULT SERIAL_COMM_4800
|
|
syn keyword nqcConstant SERIAL_COMM_DUTY25 SERIAL_COMM_76KHZ
|
|
|
|
" for SetSerialPacket()
|
|
syn keyword nqcConstant SERIAL_PACKET_DEFAULT SERIAL_PACKET_PREAMBLE
|
|
syn keyword nqcConstant SERIAL_PACKET_NEGATED SERIAL_PACKET_CHECKSUM
|
|
syn keyword nqcConstant SERIAL_PACKET_RCX
|
|
|
|
" Functions - RCX2
|
|
syn keyword nqcFunction SetSerialComm SetSerialPacket SetSerialData
|
|
syn keyword nqcFunction SerialData SendSerial
|
|
|
|
" VLL - Scout ----------------------------------------
|
|
" Functions - Scout
|
|
syn keyword nqcFunction SendVLL
|
|
|
|
|
|
" Timers ---------------------------------------------
|
|
" Functions - All
|
|
syn keyword nqcFunction ClearTimer Timer
|
|
|
|
" Functions - RCX2
|
|
syn keyword nqcFunction SetTimer FastTimer
|
|
|
|
|
|
" Counters -------------------------------------------
|
|
" Functions - RCX2, Scout
|
|
syn keyword nqcFunction ClearCounter IncCounter DecCounter Counter
|
|
|
|
|
|
" Access Control -------------------------------------
|
|
syn keyword nqcConstant ACQUIRE_OUT_A ACQUIRE_OUT_B ACQUIRE_OUT_C
|
|
syn keyword nqcConstant ACQUIRE_SOUND
|
|
" RCX2 only
|
|
syn keyword nqcConstant ACQUIRE_USER_1 ACQUIRE_USER_2 ACQUIRE_USER_3
|
|
syn keyword nqcConstant ACQUIRE_USER_4
|
|
|
|
" Functions - RCX2, Scout
|
|
syn keyword nqcFunction SetPriority
|
|
|
|
|
|
" Events ---------------------------------------------
|
|
" RCX2 Events
|
|
syn keyword nqcConstant EVENT_TYPE_PRESSED EVENT_TYPE_RELEASED
|
|
syn keyword nqcConstant EVENT_TYPE_PULSE EVENT_TYPE_EDGE
|
|
syn keyword nqcConstant EVENT_TYPE_FAST_CHANGE EVENT_TYPE_LOW
|
|
syn keyword nqcConstant EVENT_TYPE_NORMAL EVENT_TYPE_HIGH
|
|
syn keyword nqcConstant EVENT_TYPE_CLICK EVENT_TYPE_DOUBLECLICK
|
|
syn keyword nqcConstant EVENT_TYPE_MESSAGE
|
|
|
|
" Scout Events
|
|
syn keyword nqcConstant EVENT_1_PRESSED EVENT_1_RELEASED
|
|
syn keyword nqcConstant EVENT_2_PRESSED EVENT_2_RELEASED
|
|
syn keyword nqcConstant EVENT_LIGHT_HIGH EVENT_LIGHT_NORMAL
|
|
syn keyword nqcConstant EVENT_LIGHT_LOW EVENT_LIGHT_CLICK
|
|
syn keyword nqcConstant EVENT_LIGHT_DOUBLECLICK EVENT_COUNTER_0
|
|
syn keyword nqcConstant EVENT_COUNTER_1 EVENT_TIMER_0 EVENT_TIMER_1
|
|
syn keyword nqcConstant EVENT_TIMER_2 EVENT_MESSAGE
|
|
|
|
" Functions - RCX2, Scout
|
|
syn keyword nqcFunction ActiveEvents Event
|
|
|
|
" Functions - RCX2
|
|
syn keyword nqcFunction CurrentEvents
|
|
syn keyword nqcFunction SetEvent ClearEvent ClearAllEvents EventState
|
|
syn keyword nqcFunction CalibrateEvent SetUpperLimit UpperLimit
|
|
syn keyword nqcFunction SetLowerLimit LowerLimit SetHysteresis
|
|
syn keyword nqcFunction Hysteresis
|
|
syn keyword nqcFunction SetClickTime ClickTime SetClickCounter
|
|
syn keyword nqcFunction ClickCounter
|
|
|
|
" Functions - Scout
|
|
syn keyword nqcFunction SetSensorClickTime SetCounterLimit
|
|
syn keyword nqcFunction SetTimerLimit
|
|
|
|
|
|
" Data Logging ---------------------------------------
|
|
" Functions - RCX
|
|
syn keyword nqcFunction CreateDatalog AddToDatalog
|
|
syn keyword nqcFunction UploadDatalog
|
|
|
|
|
|
" General Features -----------------------------------
|
|
" Functions - All
|
|
syn keyword nqcFunction Wait StopAllTasks Random
|
|
syn keyword nqcFunction SetSleepTime SleepNow
|
|
|
|
" Functions - RCX
|
|
syn keyword nqcFunction Program Watch SetWatch
|
|
|
|
" Functions - RCX2
|
|
syn keyword nqcFunction SetRandomSeed SelectProgram
|
|
syn keyword nqcFunction BatteryLevel FirmwareVersion
|
|
|
|
" Functions - Scout
|
|
" Parameters for SetLight()
|
|
syn keyword nqcConstant LIGHT_ON LIGHT_OFF
|
|
syn keyword nqcFunction SetScoutRules ScoutRules SetScoutMode
|
|
syn keyword nqcFunction SetEventFeedback EventFeedback SetLight
|
|
|
|
" additional CyberMaster defines
|
|
syn keyword nqcConstant OUT_L OUT_R OUT_X
|
|
syn keyword nqcConstant SENSOR_L SENSOR_M SENSOR_R
|
|
" Functions - CyberMaster
|
|
syn keyword nqcFunction Drive OnWait OnWaitDifferent
|
|
syn keyword nqcFunction ClearTachoCounter TachoCount TachoSpeed
|
|
syn keyword nqcFunction ExternalMotorRunning AGC
|
|
|
|
|
|
|
|
" nqcCommentGroup allows adding matches for special things in comments
|
|
syn keyword nqcTodo contained TODO FIXME XXX
|
|
syn cluster nqcCommentGroup contains=nqcTodo
|
|
|
|
"when wanted, highlight trailing white space
|
|
if exists("nqc_space_errors")
|
|
if !exists("nqc_no_trail_space_error")
|
|
syn match nqcSpaceError display excludenl "\s\+$"
|
|
endif
|
|
if !exists("nqc_no_tab_space_error")
|
|
syn match nqcSpaceError display " \+\t"me=e-1
|
|
endif
|
|
endif
|
|
|
|
"catch errors caused by wrong parenthesis and brackets
|
|
syn cluster nqcParenGroup contains=nqcParenError,nqcIncluded,nqcCommentSkip,@nqcCommentGroup,nqcCommentStartError,nqcCommentSkip,nqcCppOut,nqcCppOut2,nqcCppSkip,nqcNumber,nqcFloat,nqcNumbers
|
|
if exists("nqc_no_bracket_error")
|
|
syn region nqcParen transparent start='(' end=')' contains=ALLBUT,@nqcParenGroup,nqcCppParen
|
|
" nqcCppParen: same as nqcParen but ends at end-of-line; used in nqcDefine
|
|
syn region nqcCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@nqcParenGroup,nqcParen
|
|
syn match nqcParenError display ")"
|
|
syn match nqcErrInParen display contained "[{}]"
|
|
else
|
|
syn region nqcParen transparent start='(' end=')' contains=ALLBUT,@nqcParenGroup,nqcCppParen,nqcErrInBracket,nqcCppBracket
|
|
" nqcCppParen: same as nqcParen but ends at end-of-line; used in nqcDefine
|
|
syn region nqcCppParen transparent start='(' skip='\\$' excludenl end=')' end='$' contained contains=ALLBUT,@nqcParenGroup,nqcErrInBracket,nqcParen,nqcBracket
|
|
syn match nqcParenError display "[\])]"
|
|
syn match nqcErrInParen display contained "[\]{}]"
|
|
syn region nqcBracket transparent start='\[' end=']' contains=ALLBUT,@nqcParenGroup,nqcErrInParen,nqcCppParen,nqcCppBracket
|
|
" nqcCppBracket: same as nqcParen but ends at end-of-line; used in nqcDefine
|
|
syn region nqcCppBracket transparent start='\[' skip='\\$' excludenl end=']' end='$' contained contains=ALLBUT,@nqcParenGroup,nqcErrInParen,nqcParen,nqcBracket
|
|
syn match nqcErrInBracket display contained "[);{}]"
|
|
endif
|
|
|
|
"integer number, or floating point number without a dot and with "f".
|
|
syn case ignore
|
|
syn match nqcNumbers display transparent "\<\d\|\.\d" contains=nqcNumber,nqcFloat
|
|
" Same, but without octal error (for comments)
|
|
syn match nqcNumber display contained "\d\+\(u\=l\{0,2}\|ll\=u\)\>"
|
|
"hex number
|
|
syn match nqcNumber display contained "0x\x\+\(u\=l\{0,2}\|ll\=u\)\>"
|
|
" Flag the first zero of an octal number as something special
|
|
syn match nqcFloat display contained "\d\+f"
|
|
"floating point number, with dot, optional exponent
|
|
syn match nqcFloat display contained "\d\+\.\d*\(e[-+]\=\d\+\)\=[fl]\="
|
|
"floating point number, starting with a dot, optional exponent
|
|
syn match nqcFloat display contained "\.\d\+\(e[-+]\=\d\+\)\=[fl]\=\>"
|
|
"floating point number, without dot, with exponent
|
|
syn match nqcFloat display contained "\d\+e[-+]\=\d\+[fl]\=\>"
|
|
" flag an octal number with wrong digits
|
|
syn case match
|
|
|
|
syn region nqcCommentL start="//" skip="\\$" end="$" keepend contains=@nqcCommentGroup,nqcSpaceError
|
|
syn region nqcComment matchgroup=nqcCommentStart start="/\*" matchgroup=NONE end="\*/" contains=@nqcCommentGroup,nqcCommentStartError,nqcSpaceError
|
|
|
|
" keep a // comment separately, it terminates a preproc. conditional
|
|
syntax match nqcCommentError display "\*/"
|
|
syntax match nqcCommentStartError display "/\*" contained
|
|
|
|
|
|
|
|
|
|
|
|
syn region nqcPreCondit start="^\s*#\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" end="//"me=s-1 contains=nqcComment,nqcCharacter,nqcCppParen,nqcParenError,nqcNumbers,nqcCommentError,nqcSpaceError
|
|
syn match nqcPreCondit display "^\s*#\s*\(else\|endif\)\>"
|
|
if !exists("nqc_no_if0")
|
|
syn region nqcCppOut start="^\s*#\s*if\s\+0\>" end=".\|$" contains=nqcCppOut2
|
|
syn region nqcCppOut2 contained start="0" end="^\s*#\s*\(endif\>\|else\>\|elif\>\)" contains=nqcSpaceError,nqcCppSkip
|
|
syn region nqcCppSkip contained start="^\s*#\s*\(if\>\|ifdef\>\|ifndef\>\)" skip="\\$" end="^\s*#\s*endif\>" contains=nqcSpaceError,nqcCppSkip
|
|
endif
|
|
syn region nqcIncluded display contained start=+"+ skip=+\\\\\|\\"+ end=+"+
|
|
syn match nqcInclude display "^\s*#\s*include\>\s*["]" contains=nqcIncluded
|
|
"syn match nqcLineSkip "\\$"
|
|
syn cluster nqcPreProcGroup contains=nqcPreCondit,nqcIncluded,nqcInclude,nqcDefine,nqcErrInParen,nqcErrInBracket,nqcCppOut,nqcCppOut2,nqcCppSkip,nqcNumber,nqcFloat,nqcNumbers,nqcCommentSkip,@nqcCommentGroup,nqcCommentStartError,nqcParen,nqcBracket
|
|
syn region nqcDefine start="^\s*#\s*\(define\|undef\)\>" skip="\\$" end="$" contains=ALLBUT,@nqcPreProcGroup
|
|
syn region nqcPreProc start="^\s*#\s*\(pragma\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@nqcPreProcGroup
|
|
|
|
if !exists("nqc_minlines")
|
|
if !exists("nqc_no_if0")
|
|
let nqc_minlines = 50 " #if 0 constructs can be long
|
|
else
|
|
let nqc_minlines = 15 " mostly for () constructs
|
|
endif
|
|
endif
|
|
exec "syn sync ccomment nqcComment minlines=" . nqc_minlines
|
|
|
|
" Define the default highlighting.
|
|
" Only when an item doesn't have highlighting yet
|
|
|
|
" The default methods for highlighting. Can be overridden later
|
|
hi def link nqcLabel Label
|
|
hi def link nqcConditional Conditional
|
|
hi def link nqcRepeat Repeat
|
|
hi def link nqcCharacter Character
|
|
hi def link nqcNumber Number
|
|
hi def link nqcFloat Float
|
|
hi def link nqcFunction Function
|
|
hi def link nqcParenError nqcError
|
|
hi def link nqcErrInParen nqcError
|
|
hi def link nqcErrInBracket nqcError
|
|
hi def link nqcCommentL nqcComment
|
|
hi def link nqcCommentStart nqcComment
|
|
hi def link nqcCommentError nqcError
|
|
hi def link nqcCommentStartError nqcError
|
|
hi def link nqcSpaceError nqcError
|
|
hi def link nqcStorageClass StorageClass
|
|
hi def link nqcInclude Include
|
|
hi def link nqcPreProc PreProc
|
|
hi def link nqcDefine Macro
|
|
hi def link nqcIncluded String
|
|
hi def link nqcError Error
|
|
hi def link nqcStatement Statement
|
|
hi def link nqcEvents Statement
|
|
hi def link nqcPreCondit PreCondit
|
|
hi def link nqcType Type
|
|
hi def link nqcConstant Constant
|
|
hi def link nqcCommentSkip nqcComment
|
|
hi def link nqcComment Comment
|
|
hi def link nqcTodo Todo
|
|
hi def link nqcCppSkip nqcCppOut
|
|
hi def link nqcCppOut2 nqcCppOut
|
|
hi def link nqcCppOut Comment
|
|
|
|
|
|
let b:current_syntax = "nqc"
|
|
|
|
" vim: ts=8
|