summaryrefslogtreecommitdiff
path: root/uvim/runtime/syntax/forth.vim
diff options
context:
space:
mode:
authorMehmet Samet Duman <yongdohyun@projecttick.org>2026-04-03 22:21:25 +0300
committerMehmet Samet Duman <yongdohyun@projecttick.org>2026-04-04 00:23:03 +0300
commit2eae5db069dc171f74cd863487655f6a88e5384d (patch)
tree2d9d05e09978a2a44acbfbb8d651f240df3ca052 /uvim/runtime/syntax/forth.vim
parent473d922faed49241a5d29d9e37dc4819cd512006 (diff)
downloadProject-Tick-2eae5db069dc171f74cd863487655f6a88e5384d.tar.gz
Project-Tick-2eae5db069dc171f74cd863487655f6a88e5384d.zip
NOISSUE rebrand vim to MNV's not Vim
Signed-off-by: Mehmet Samet Duman <yongdohyun@projecttick.org>
Diffstat (limited to 'uvim/runtime/syntax/forth.vim')
-rw-r--r--uvim/runtime/syntax/forth.vim455
1 files changed, 0 insertions, 455 deletions
diff --git a/uvim/runtime/syntax/forth.vim b/uvim/runtime/syntax/forth.vim
deleted file mode 100644
index 252116a187..0000000000
--- a/uvim/runtime/syntax/forth.vim
+++ /dev/null
@@ -1,455 +0,0 @@
-" Vim syntax file
-" Language: Forth
-" Maintainer: Johan Kotlinski <kotlinski@gmail.com>
-" Previous Maintainer: Christian V. J. Brüssow <cvjb@cvjb.de>
-" Last Change: 2023 Aug 13
-" Filenames: *.f,*.fs,*.ft,*.fth,*.4th
-" URL: https://github.com/jkotlinski/forth.vim
-
-" Supports the Forth-2012 Standard.
-"
-" Removed words from the earlier Forth-79, Forth-83 and Forth-94 standards are
-" also included.
-"
-" These have been organised according to the version in which they were
-" initially included and the version in which they were removed (obsolescent
-" status is ignored). Words with "experimental" or "uncontrolled" status are
-" not included unless they were later standardised.
-
-" quit when a syntax file was already loaded
-if exists("b:current_syntax")
- finish
-endif
-
-let s:cpo_save = &cpo
-set cpo&vim
-
-" Synchronization method
-exe "syn sync minlines=" .. get(g:, "forth_minlines", 50)
-
-syn case ignore
-
-" Characters allowed in keywords
-" I don't know if 128-255 are allowed in ANS-FORTH
-syn iskeyword 33-126,128-255
-
-" Space errors {{{1
-" when wanted, highlight trailing white space
-if exists("forth_space_errors")
- if !exists("forth_no_trail_space_error")
- syn match forthSpaceError display excludenl "\s\+$"
- endif
- if !exists("forth_no_tab_space_error")
- syn match forthSpaceError display " \+\t"me=e-1
- endif
-endif
-
-" Core words {{{1
-
-" basic mathematical and logical operators {{{2
-syn keyword forthOperators * */ */MOD + - / /MOD 0< 0= 1+ 1- 2* 2/ < = > ABS
-syn keyword forthOperators AND FM/MOD INVERT LSHIFT M* MAX MIN MOD NEGATE OR
-syn keyword forthOperators RSHIFT SM/REM U< UM* UM/MOD XOR
- " extension words
-syn keyword forthOperators 0<> 0> <> U> WITHIN
- " Forth-79
-syn keyword forthOperators U* U/ U/MOD
- " Forth-79, Forth-83
-syn keyword forthOperators NOT
- " Forth-83
-syn keyword forthOperators 2+ 2-
-
-" non-standard basic mathematical and logical operators
-syn keyword forthOperators 0<= 0>= 8* <= >= ?DNEGATE ?NEGATE U<= U>= UNDER+
-
-" various words that take an input and do something with it {{{2
-syn keyword forthFunction . U.
- " extension words
-syn keyword forthFunction .R U.R
-
-" stack manipulations {{{2
-syn keyword forthStack 2DROP 2DUP 2OVER 2SWAP >R ?DUP DROP DUP OVER R> R@ ROT
-syn keyword forthStack SWAP
- " extension words
-syn keyword forthStack NIP PICK ROLL TUCK
-syn keyword forthRStack 2>R 2R> 2R@
-
-" non-standard stack manipulations
-syn keyword forthStack -ROT 3DROP 3DUP 4-ROT 4DROP 4DUP 4ROT 4SWAP 4TUCK
-syn keyword forthStack 5DROP 5DUP 8DROP 8DUP 8SWAP
-syn keyword forthRStack 4>R 4R> 4R@ 4RDROP RDROP
-
-" stack pointer manipulations {{{2
-syn keyword forthSP DEPTH
-
-" non-standard stack pointer manipulations
-syn keyword forthSP FP! FP@ LP! LP@ RP! RP@ SP! SP@
-
-" address operations {{{2
-syn keyword forthMemory ! +! 2! 2@ @ C! C@
-syn keyword forthAdrArith ALIGN ALIGNED ALLOT CELL+ CELLS CHAR+ CHARS
-syn keyword forthMemBlks FILL MOVE
- " extension words
-syn keyword forthMemBlks ERASE UNUSED
-
-" non-standard address operations
-syn keyword forthAdrArith ADDRESS-UNIT-BITS CELL CFALIGN CFALIGNED FLOAT
-syn keyword forthAdrArith MAXALIGN MAXALIGNED
-
-" conditionals {{{2
-syn keyword forthCond ELSE IF THEN
- " extension words
-syn keyword forthCond CASE ENDCASE ENDOF OF
-
-" non-standard conditionals
-syn keyword forthCond ?DUP-0=-IF ?DUP-IF ENDIF
-
-" iterations {{{2
-syn keyword forthLoop +LOOP BEGIN DO EXIT I J LEAVE LOOP RECURSE REPEAT UNLOOP
-syn keyword forthLoop UNTIL WHILE
- " extension words
-syn keyword forthLoop ?DO AGAIN
-
-" non-standard iterations
-syn keyword forthLoop +DO -DO -LOOP ?LEAVE DONE FOR K NEXT U+DO U-DO
-
-" new words {{{2
-syn match forthColonDef "\<:\s*[^ \t]\+\>"
-syn keyword forthEndOfColonDef ;
-syn keyword forthDefine ' , C, CONSTANT CREATE DOES> EXECUTE IMMEDIATE LITERAL
-syn keyword forthDefine POSTPONE STATE VARIABLE ]
-syn match forthDefine "\<\[']\>"
-syn match forthDefine "\<\[\>"
- " extension words
-syn keyword forthColonDef :NONAME
-syn keyword forthDefine BUFFER: COMPILE, DEFER IS MARKER TO VALUE
-syn match forthDefine "\<\[COMPILE]\>"
- " Forth-79, Forth-83
-syn keyword forthDefine COMPILE
-
-" non-standard new words
-syn match forthClassDef "\<:CLASS\s*[^ \t]\+\>"
-syn keyword forthEndOfClassDef ;CLASS
-syn match forthObjectDef "\<:OBJECT\s*[^ \t]\+\>"
-syn keyword forthEndOfObjectDef ;OBJECT
-syn match forthColonDef "\<:M\s*[^ \t]\+\>"
-syn keyword forthEndOfColonDef ;M
-syn keyword forthDefine 2, <BUILDS <COMPILATION <INTERPRETATION C; COMP'
-syn keyword forthDefine COMPILATION> COMPILE-ONLY CREATE-INTERPRET/COMPILE
-syn keyword forthDefine CVARIABLE F, FIND-NAME INTERPRET INTERPRETATION>
-syn keyword forthDefine LASTXT NAME>COMP NAME>INT NAME?INT POSTPONE, RESTRICT
-syn keyword forthDefine USER
-syn match forthDefine "\<\[COMP']\>"
-
-" basic character operations {{{2
-syn keyword forthCharOps BL COUNT CR EMIT FIND KEY SPACE SPACES TYPE WORD
-" recognize 'char (' or '[CHAR] (' correctly, so it doesn't
-" highlight everything after the paren as a comment till a closing ')'
-syn match forthCharOps '\<CHAR\s\S\s'
-syn match forthCharOps '\<\[CHAR]\s\S\s'
- " Forth-83, Forth-94
-syn keyword forthCharOps EXPECT #TIB TIB
-
-" non-standard basic character operations
-syn keyword forthCharOps (.)
-
-" char-number conversion {{{2
-syn keyword forthConversion # #> #S <# >NUMBER HOLD S>D SIGN
- " extension words
-syn keyword forthConversion HOLDS
- " Forth-79, Forth-83, Forth-93
-syn keyword forthConversion CONVERT
-
-" non-standard char-number conversion
-syn keyword forthConversion #>> (NUMBER) (NUMBER?) <<# DIGIT DPL HLD NUMBER
-
-" interpreter, wordbook, compiler {{{2
-syn keyword forthForth >BODY >IN ACCEPT ENVIRONMENT? EVALUATE HERE QUIT SOURCE
- " extension words
-syn keyword forthForth ACTION-OF DEFER! DEFER@ PAD PARSE PARSE-NAME REFILL
-syn keyword forthForth RESTORE-INPUT SAVE-INPUT SOURCE-ID
- " Forth-79
-syn keyword forthForth 79-STANDARD
- " Forth-83
-syn keyword forthForth <MARK <RESOLVE >MARK >RESOLVE ?BRANCH BRANCH FORTH-83
- " Forth-79, Forth-83, Forth-94
-syn keyword forthForth QUERY
- " Forth-83, Forth-94
-syn keyword forthForth SPAN
-
-" non-standard interpreter, wordbook, compiler
-syn keyword forthForth ) >LINK >NEXT >VIEW ASSERT( ASSERT0( ASSERT1( ASSERT2(
-syn keyword forthForth ASSERT3( BODY> CFA COLD L>NAME LINK> N>LINK NAME> VIEW
-syn keyword forthForth VIEW>
-
-" booleans {{{2
- " extension words
-syn match forthBoolean "\<\%(TRUE\|FALSE\)\>"
-
-" numbers {{{2
-syn keyword forthMath BASE DECIMAL
- " extension words
-syn keyword forthMath HEX
-syn match forthInteger '\<-\=\d\+\.\=\>'
-syn match forthInteger '\<#-\=\d\+\.\=\>'
-syn match forthInteger '\<\$-\=\x\+\.\=\>'
-syn match forthInteger '\<%-\=[01]\+\.\=\>'
-
-" characters {{{2
-syn match forthCharacter "'\k'"
-
-" strings {{{2
-
-" Words that end with " are assumed to start string parsing.
-" This includes standard words: S" ."
-syn region forthString matchgroup=forthString start=+\<\S\+"\s+ end=+"+ end=+$+ contains=@Spell
- " extension words
-syn region forthString matchgroup=forthString start=+\<C"\s+ end=+"+ end=+$+ contains=@Spell
-" Matches S\"
-syn region forthString matchgroup=forthString start=+\<S\\"\s+ end=+"+ end=+$+ contains=@Spell,forthEscape
-
-syn match forthEscape +\C\\[abeflmnqrtvz"\\]+ contained
-syn match forthEscape "\C\\x\x\x" contained
-
-" comments {{{2
-
-syn keyword forthTodo contained TODO FIXME XXX
-
-" Some special, non-FORTH keywords
-syn match forthTodo contained "\<\%(TODO\|FIXME\|XXX\)\%(\>\|:\@=\)"
-
-" XXX If you find this overkill you can remove it. This has to come after the
-" highlighting for numbers and booleans otherwise it has no effect.
-syn region forthComment start='\<\%(0\|FALSE\)\s\+\[IF]' end='\<\[ENDIF]' end='\<\[THEN]' contains=forthTodo
-
-if get(g:, "forth_no_comment_fold", 0)
- syn region forthComment start='\<(\>' end=')' contains=@Spell,forthTodo,forthSpaceError
- " extension words
- syn match forthComment '\<\\\>.*$' contains=@Spell,forthTodo,forthSpaceError
-else
- syn region forthComment start='\<(\>' end=')' contains=@Spell,forthTodo,forthSpaceError fold
- " extension words
- syn match forthComment '\<\\\>.*$' contains=@Spell,forthTodo,forthSpaceError
- syn region forthMultilineComment start="^\s*\\\>" end="\n\%(\s*\\\>\)\@!" contains=forthComment transparent fold
-endif
-
- " extension words
-syn region forthComment start='\<\.(\>' end=')' end='$' contains=@Spell,forthTodo,forthSpaceError
-
-" ABORT {{{2
-syn keyword forthForth ABORT
-syn region forthForth start=+\<ABORT"\s+ end=+"\>+ end=+$+
-
-" The optional Block word set {{{1
-" Handled as Core words - REFILL
-syn keyword forthBlocks BLK BLOCK BUFFER FLUSH LOAD SAVE-BUFFERS UPDATE
- " extension words
-syn keyword forthBlocks EMPTY-BUFFERS LIST SCR THRU
-
-" Non-standard Block words
-syn keyword forthBlocks +LOAD +THRU --> BLOCK-INCLUDED BLOCK-OFFSET
-syn keyword forthBlocks BLOCK-POSITION EMPTY-BUFFER GET-BLOCK-FID OPEN-BLOCKS
-syn keyword forthBlocks SAVE-BUFFER UPDATED? USE
-
-" The optional Double-Number word set {{{1
-syn keyword forthConversion D>S
-syn keyword forthDefine 2CONSTANT 2LITERAL 2VARIABLE
-syn keyword forthFunction D. D.R
-syn keyword forthOperators D+ D- D0= D2* D2/ D= DABS DMAX DMIN DNEGATE
-syn keyword forthOperators D0< D< M+ M*/
- " extension words
-syn keyword forthDefine 2VALUE
-syn keyword forthOperators DU<
-syn keyword forthStack 2ROT
-
-" Non-standard Double-Number words
-syn keyword forthOperators D0<= D0<> D0> D0>= D<= D<> D> D>= DU<= DU> DU>=
-syn keyword forthStack 2-ROT 2NIP 2RDROP 2TUCK
-
-" The optional Exception word set {{{1
-" Handled as Core words - ABORT ABORT"
-syn keyword forthCond CATCH THROW
-
-" The optional Facility word set {{{1
-syn keyword forthCharOps AT-XY KEY? PAGE
- " extension words
-syn keyword forthCharOps EKEY EKEY>CHAR EKEY>FKEY EKEY? EMIT? K-ALT-MASK
-syn keyword forthCharOps K-CTRL-MASK K-DELETE K-DOWN K-END K-F1 K-F10 K-F11
-syn keyword forthCharOps K-F12 K-F2 K-F3 K-F4 K-F5 K-F6 K-F7 K-F8 K-F9 K-HOME
-syn keyword forthCharOps K-INSERT K-LEFT K-NEXT K-PRIOR K-RIGHT K-SHIFT-MASK
-syn keyword forthCharOps K-UP
-syn keyword forthDefine +FIELD BEGIN-STRUCTURE CFIELD: END-STRUCTURE FIELD:
-syn keyword forthForth MS TIME&DATE
-
-" The optional File-Access word set {{{1
-" Handled as Core words - REFILL SOURCE-ID S\" S" (
-syn keyword forthFileMode BIN R/O R/W W/O
-syn keyword forthFileWords CLOSE-FILE CREATE-FILE DELETE-FILE FILE-POSITION
-syn keyword forthFileWords FILE-SIZE INCLUDE-FILE INCLUDED OPEN-FILE READ-FILE
-syn keyword forthFileWords READ-LINE REPOSITION-FILE RESIZE-FILE WRITE-FILE
-syn keyword forthFileWords WRITE-LINE
- " extension words
-syn keyword forthFileWords FILE-STATUS FLUSH-FILE RENAME-FILE REQUIRED
-syn match forthInclude '\<INCLUDE\s\+\k\+'
-syn match forthInclude '\<REQUIRE\s\+\k\+'
-
-" Non-standard File-Access words
-syn keyword forthFileWords EMIT-FILE KEY-FILE KEY?-FILE SLURP-FID SLURP-FILE
-syn keyword forthFileWords STDERR STDIN STDOUT
-syn match forthInclude '^FLOAD\s\+'
-syn match forthInclude '^NEEDS\s\+'
-
-" The optional Floating-Point word set {{{1
-
-" numbers
-syn match forthFloat '\<[+-]\=\d\+\.\=\d*[DdEe][+-]\=\d*\>'
-
-syn keyword forthConversion >FLOAT D>F F>D
-syn keyword forthAdrArith FALIGN FALIGNED FLOAT+ FLOATS
-syn keyword forthDefine FCONSTANT FLITERAL FVARIABLE
-syn keyword forthFStack FDROP FDUP FOVER FROT FSWAP
-syn keyword forthFunction REPRESENT
-syn keyword forthMemory F! F@
-syn keyword forthOperators F* F+ F- F/ F0< F0= F< FLOOR FMAX FMIN FNEGATE
-syn keyword forthOperators FROUND
-syn keyword forthSP FDEPTH
- " extension words
-syn keyword forthConversion F>S S>F
-syn keyword forthAdrArith DFALIGN DFALIGNED DFLOAT+ DFLOATS SFALIGN
-syn keyword forthAdrArith SFALIGNED SFLOAT+ SFLOATS
-syn keyword forthDefine DFFIELD: FFIELD: FVALUE SFFIELD:
-syn keyword forthFunction F. FE. FS. PRECISION SET-PRECISION
-syn keyword forthMemory DF! DF@ SF! SF@
-syn keyword forthOperators F** FABS FACOS FACOSH FALOG FASIN FASINH FATAN
-syn keyword forthOperators FATAN2 FATANH FCOS FCOSH FEXP FEXPM1 FLN FLNP1
-syn keyword forthOperators FLOG FSIN FSINCOS FSINH FSQRT FTAN FTANH FTRUNC F~
-
-" Non-standard Floating-Point words
-syn keyword forthOperators 1/F F2* F2/ F~ABS F~REL
-syn keyword forthFStack FNIP FTUCK
-
-" The optional Locals word set {{{1
-syn keyword forthForth (LOCAL)
- " extension words
-syn region forthLocals start="\<{:\>" end="\<:}\>"
-syn region forthLocals start="\<LOCALS|\>" end="\<|\>"
-
-" Non-standard Locals words
-syn region forthLocals start="\<{\>" end="\<}\>"
-
-" The optional Memory-Allocation word set {{{1
-syn keyword forthMemory ALLOCATE FREE RESIZE
-
-" The optional Programming-Tools wordset {{{1
-syn keyword forthDebug .S ? DUMP SEE WORDS
- " extension words
-syn keyword forthAssembler ;CODE ASSEMBLER CODE END-CODE
-syn keyword forthCond AHEAD CS-PICK CS-ROLL
-syn keyword forthDefine NAME>COMPILE NAME>INTERPRET NAME>STRING SYNONYM
-syn keyword forthDefine TRAVERSE-WORDLIST
-syn match forthDefine "\<\[DEFINED]\>"
-syn match forthDefine "\<\[ELSE]\>"
-syn match forthDefine "\<\[IF]\>"
-syn match forthDefine "\<\[THEN]\>"
-syn match forthDefine "\<\[UNDEFINED]\>"
-syn keyword forthForth BYE FORGET
-syn keyword forthStack N>R NR>
-syn keyword forthVocs EDITOR
-
-" Non-standard Programming-Tools words
-syn keyword forthAssembler FLUSH-ICACHE
-syn keyword forthDebug PRINTDEBUGDATA PRINTDEBUGLINE
-syn match forthDebug "\<\~\~\>"
-syn match forthDefine "\<\[+LOOP]\>"
-syn match forthDefine "\<\[?DO]\>"
-syn match forthDefine "\<\[AGAIN]\>"
-syn match forthDefine "\<\[BEGIN]\>"
-syn match forthDefine "\<\[DO]\>"
-syn match forthDefine "\<\[ENDIF]\>"
-syn match forthDefine "\<\[IFDEF]\>"
-syn match forthDefine "\<\[IFUNDEF]\>"
-syn match forthDefine "\<\[LOOP]\>"
-syn match forthDefine "\<\[NEXT]\>"
-syn match forthDefine "\<\[REPEAT]\>"
-syn match forthDefine "\<\[UNTIL]\>"
-syn match forthDefine "\<\[WHILE]\>"
-
-" The optional Search-Order word set {{{1
-" Handled as Core words - FIND
-syn keyword forthVocs DEFINITIONS FORTH-WORDLIST GET-CURRENT GET-ORDER
-syn keyword forthVocs SEARCH-WORDLIST SET-CURRENT SET-ORDER WORDLIST
- " extension words
-syn keyword forthVocs ALSO FORTH ONLY ORDER PREVIOUS
- " Forth-79, Forth-83
-syn keyword forthVocs CONTEXT CURRENT VOCABULARY
-
-" Non-standard Search-Order words
-syn keyword forthVocs #VOCS ROOT SEAL VOCS
-
-" The optional String word set {{{1
-syn keyword forthFunction -TRAILING /STRING BLANK CMOVE CMOVE> COMPARE SEARCH
-syn keyword forthFunction SLITERAL
- " extension words
-syn keyword forthFunction REPLACES SUBSTITUTE UNESCAPE
-
-" The optional Extended-Character word set {{{1
-" Handled as Core words - [CHAR] CHAR and PARSE
-syn keyword forthAdrArith XCHAR+
-syn keyword forthCharOps X-SIZE XC-SIZE XEMIT XKEY XKEY?
-syn keyword forthDefine XC,
-syn keyword forthMemory XC!+ XC!+? XC@+
- " extension words
-syn keyword forthAdrArith XCHAR- +X/STRING X\\STRING-
-syn keyword forthCharOps EKEY>XCHAR X-WIDTH XC-WIDTH
-syn keyword forthConversion XHOLD
-syn keyword forthString -TRAILING-GARBAGE
-
-" Define the default highlighting {{{1
-hi def link forthBoolean Boolean
-hi def link forthCharacter Character
-hi def link forthTodo Todo
-hi def link forthOperators Operator
-hi def link forthMath Number
-hi def link forthInteger Number
-hi def link forthFloat Float
-hi def link forthStack Special
-hi def link forthRstack Special
-hi def link forthFStack Special
-hi def link forthSP Special
-hi def link forthMemory Function
-hi def link forthAdrArith Function
-hi def link forthMemBlks Function
-hi def link forthCond Conditional
-hi def link forthLoop Repeat
-hi def link forthColonDef Define
-hi def link forthEndOfColonDef Define
-hi def link forthDefine Define
-hi def link forthDebug Debug
-hi def link forthAssembler Include
-hi def link forthCharOps Character
-hi def link forthConversion String
-hi def link forthForth Statement
-hi def link forthVocs Statement
-hi def link forthEscape Special
-hi def link forthString String
-hi def link forthComment Comment
-hi def link forthClassDef Define
-hi def link forthEndOfClassDef Define
-hi def link forthObjectDef Define
-hi def link forthEndOfObjectDef Define
-hi def link forthInclude Include
-hi def link forthLocals Type " nothing else uses type and locals must stand out
-hi def link forthFileMode Function
-hi def link forthFunction Function
-hi def link forthFileWords Statement
-hi def link forthBlocks Statement
-hi def link forthSpaceError Error
-"}}}
-
-let b:current_syntax = "forth"
-
-let &cpo = s:cpo_save
-unlet s:cpo_save
-
-" vim:ts=8:sw=4:nocindent:smartindent:fdm=marker:tw=78
-