Expand description
§Applesoft analysis and transformations
This module is used by both the CLI and the language server.
The Applesoft parser is provided by tree_sitter_applesoft.
The server compiles to a separate executable, its entry point is in src/bin/server-applesoft/main.rs.
Modules§
- checkpoint
- Applesoft checkpoint module.
- completions
- diagnostics
- Applesoft diagnostics module.
- hovers
- minifier
- Module containing the Applesoft minifier
- renumber
- Applesoft Renumber Module
- semantic_
tokens - settings
- Parse settings string sent by any client.
- tokenizer
- Module containing the Applesoft tokenizer
Structs§
- Line
- Information about a specific line label. The label itself is a key that maps to this information.
- Symbols
- Main structure containing the symbol information for one source file
- Variable
- Information about a specific variable or function in one source file. The name itself is a key that maps to this information. The key is always put in uppercase, but all case variations that occur are saved.
- Workspace
- The Applesoft workspace is a chain structure. One program could chain to any other program. Chaining does not persist function definitions.
Functions§
- bytes_
to_ escaped_ string - Calls
bytes_to_escaped_string_exwithescapesset to [10,13] - bytes_
to_ escaped_ string_ ex - Starting in some stringlike context defined by
ctx, where the trigger byte has already been consumed, escape the remaining bytes within that context. If there is a literal hex escape it is put as\x5CxHHwhere H is the hex. Return the escaped string and the index to the terminator. The terminator is not part of the returned string. - deduce_
address - name_
range - Extract range of the variable name within the node
@param node node can be either var_* or name_*
@returns range of name part of variable, includes
$or%but not subscript - var_
to_ key - Extract variable name from syntax node
@param node syntax node to be analyzed, can be var_* or name_*, except for name_amp
@param recall is this an implicit array like the argument of RECALL
@returns [normalized name,specific name], includes
$,%, or()