This is an experimental language server for the scripting language QuickBMS.
These are the currently supported language server endpoints.
initializetextDocument/definitiontextDocument/didOpentextDocument/didChangetextDocument/documentSymboltextDocument/foldingRange- Currently only for function declarations,
If/ElseIf/Elsestatements, andDo/Whileloops
- Currently only for function declarations,
textDocument/hovertextDocument/references- Currently only for functions
The following QuickBMS commands are currently supported by the langauge server.
-
QuickBMSver VERSION- Support version numbers that are not specified as strings
-
FindLoc VAR TYPE STRING [FILENUM] [ERR_VALUE] [END_OFF] -
For [VAR] [OP] [VALUE] [COND] [VAR]- Support all operators
-
Next [VAR] [OP] [VALUE] -
Get VAR TYPE [FILENUM] [OFFSET]- Look into
OFFSETargument. It is in list of commands, but not in theGetdocumentation.
- Look into
-
GetDString VAR LENGTH [FILENUM] -
GoTo OFFSET [FILENUM] [TYPE] -
IDString [FILENUM] STRING -
Log NAME OFFSET SIZE [FILENUM] [XSIZE]- Add support for FILENUM and XSIZE
-
Clog NAME OFFSET ZSIZE SIZE [FILENUM] [XSIZE] -
Math VAR OP VAR- Support all operators
-
XMath VAR INSTR -
Open FOLDER NAME [FILENUM] [EXISTS] -
SavePos VAR [FILENUM] -
Set VAR [TYPE] VAR -
Do -
While VAR COND VAR -
String VAR OP VAR- Support all operators
-
CleanExit -
If VAR COND VAR [...]- Support all comparison operators
-
[Elif VAR COND VAR] -
[Else] -
EndIf -
GetCT VAR TYPE CHAR [FILENUM] -
ComType ALGO [DICT] [DICT_SIZE]- Support optional arguments
-
ReverseShort VAR [ENDIAN] -
ReverseLong VAR [ENDIAN] -
ReverseLongLong VAR [ENDIAN] -
Endian TYPE [VAR] -
FileXOR SEQ [OFFSET] [FILENUM] -
FileRot SEQ [OFFSET] [FILENUM] -
FileCrypt SEQ [OFFSET] [FILENUM] -
Strlen VAR VAR [SIZE] -
GetVarChr VAR VAR OFFSET [TYPE] -
PutVarChr VAR OFFSET VAR [TYPE] -
Debug [MODE] -
Padding VAR [FILENUM] [BASE_OFF] -
Append [DIRECTION] -
Encryption ALGO KEY [IVEC] [MODE] [KEYLEN] -
Print MESSAGE -
GetArray VAR ARRAY VAR_IDX -
PutArray ARRAY VAR_IDX VAR -
SortArray ARRAY [ALL] -
SearchArray VAR ARRAY VAR -
CallFunction NAME [KEEP_VAR] [ARG1] [ARG2] ... [ARGn]- Add support for arguments
-
StartFunction NAME -
EndFunction -
ScanDir PATH NAME SIZE [FILTER] -
CallDLL DLLNAME FUNC/OFF CONV RET [ARG1] [ARG2] ... [ARGn] -
Put VAR TYPE [FILENUM] -
PutDString VAR LENGTH [FILENUM] -
PutCT VAR TYPE CHAR [FILENUM] -
GetBits VAR BITS [FILENUM] -
PutBits VAR BITS [FILENUM] -
Include FILENAME -
NameCRC VAR CRC [LISTFILE] [TYPE] [POLYNOMIAL] [PARAMETERS] -
Codepage VAR -
SLog NAME OFFSET SIZE [TYPE] [FILENUM] [TAG] -
Reimport [MODE] -
Label NAME -
Break [NAME] -
Continue [NAME]

