Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This adds a lexer for the Forth programming language.
Since this is a bit of an unusual language (lacking a rigid structure and syntax), there is a bit of a balancing act going on between accuracy and usability. The highlighting rules follow conventions that most editors with Forth support also follow (e.g. considering control structures such as
IF/THEN
andDO/LOOP
as keywords, and considering words such as:
,CREATE
andVARIABLE
as defining words, with the next word highlighted as the function name).When working with more fancy code constructs that switch between compiler modes, or when creating higher order defining words, some of these highlights will inevitably be incorrect. These inaccuracies are usually limited to (the first word following) parsing words and should not "break the highlighting" for any larger parts of the codebase.