All notable changes to this project will be documented in this file.
- initial release
- minor type resolve improvements
- fix broken scope variables in debugger view
- set variable reference to zero to prevent infinite inheritance
- fix indexes intrinsic for lists and strings
- add idx local during for loop
- add placeholders for blockhain, coin, service, wallet, subWallet
- improved meta information
- added methods to sytnax language
- fix range behavior in case of from > to
- improved meta information
- minor readme fix
- rename minify to transform for proper naming
- add beautify
- add option to define environment variables
- add option to define excluded namespaces
- change circle ci config
- update readme
- fix browser rollup build
- add envar to syntax
- add shortcut for minify and beautify
- add GreyScript API browser
- use
transpiler.buildType
as for build type - remove uneccessary whitespaces from build
- use direct transpiler for transform
- change browser bundle type to cjs
- disable build and api command in web
- add environment variables to settings in README.md
- add more activation events in order to fix web extension
- find all identifier now only lookups left side in assignment
- fix autocomplete + hoverdocs flag in settings
- update greyscript-meta package, contains updated descriptions + responsive styles
- update parser and interpreter to support any value as map key, thanks for reporting to @xephael
- update parser to improve performance regarding automcompletion and hover, generates map of references per line
- add
transpiler.installer.maxChars
option to define when the installer should split the file - add queue for AST parsing to improve CPU usage
- add flag to enable/disable diagnostics
- fix installer randomly stopping parsing file, @xephael
- remove wrapper boilerplate from main, thanks for reporting to @xephael
- update greyscript-meta, added missing general functions
- update core, added missing natives
- improve automcompletion + hoverdocs after core update
- use unsafe flag on document manager
- fix line count inside multiline strings, thanks for reporting to @xephael
- fix slice operator parsing, thanks for reporting to @xephael
- update meta package which involves a few fixed return types and two missing methods in the file type
- transpiler won't add the module boilerplate header if there are no actual modules
- globals declaration in header won't be added if there are no literal optimizations
- fix behavior of pop intrinsic for map
- remove meta_info from file intrinsics
- add allow_import polyfill in file intrinsics
- add default value info in hoverdocs
- add obfuscation flag
- update meta package, minor fix for run code feature
- minor fix for file.get_content, return empty string instead of undefined, thanks for reporting @TopRoupi
- add sort key logic in sort intrinsic, thanks for reporting @TopRoupi
- add missing tan intrinsics
- add same errors in basic intrinsics as in ms
- implement format_columns logic
- improve output handler logic
- user_input supports anyKey now
- add proper router intrinsics
- rework shell intriniscs for connect_service + scp
- add shell intriniscs for launch + build + ping
- add ftpShell intrinsics for put
- add computer intrinsics for connect eth + connect wifi
- update computer intrinsics for touch + create_folder
- update file intrinsics for move + copy + chmod + set_content + get_content + set_owner
- add groups to mock env
- update crypo intrinsics
- update metaxploit intrinsics
- update metalib intrinsics
- update netsession intrinsics
- more realistic usernames, passwords, vulnerability zone names
- loading bars are supported now
- deactivate breakpoint for injection during debugging in cli execution
- keep pending state after injection in interpreter
- update meta version with a few corrections
- update parser with removed ";" checks
- support nested import_code
- support outer imports using ".."
- fix List can be different even if the same, thanks for reporting @brahermoon
- add __isa logic for maps
- minor TextMesh Pro support for output
- fix shuffle intrinsic for maps
- fix possible overflow in core parser
- fix kernel_version intrinsic
- fix nested unary in core parser
- update core in env script builder
- rework parser/lexer to support newest version (might introduced some new bugs, please report if you find anything)
- implement outer, get_custom_object, log, bitXor, bitAnd, bitOr, insert, yield
- optimize transpiler output, removed unnecessary parenthesis
- update meta with new descriptions
- drop support for scuffed if syntax
- drop support for bugged index call
- fix outer behavior
- fix token end for hover tooltip
- support multiple statements at same line for hover tooltips
- fix parser exception when a combination of block and comment on the same line appears, thanks for reporting to @xephael
- filter current connected wifi from list which is presented when looking for close wifis
- minor fix in used_ports intrinsic which caused unwanted behavior
- service ports are closer to ingame service port numbers
- implement super + isa logic
- add super + isa keyword
- support super + isa in highlighting
- exclude super and isa from uglify
- improve function declaration uglify
- improve interpreter map __isa logic
- update meta
- use proper context in super call
- allow empty string in split
- use regexp in split
- fix state forwarding in context
- interfaces use maps instead of custom interface
- revert regexp in split
- fix router intrinsics in regards of forwarded ports
- fix bug in meta lib overflow
- implement definitions provider
- use lru cache
- implement document symbol provider
- implement workspace symbol provider
- fix runtime error when canceling input
- implement pseudo terminal to support colors, bgColors and text formatting
- use correct categories for items in context menu
- add snippet command
- implement color picker
- decrease parse timeout
- fix autocomplete not working in certain cases as expected
- optimized ast document cache
- keep terminal open after execution
- add carriage return to format_columns and user_input
- add carriage return to any prints by user
- use any type as initial autocomplete type
- disable diagnostics for files inside greyscript project which are not gs
- look for all definitions even in nested imported/included files
- fix error on trailing comma in maps and lists
- add check for metaxploit if file exists to prevent error
- change autocomplete to only trigger after dot
- add support for import_code code completion #26, thanks for suggesting @Patrick-van-Halm
- add support for accessing within scope after instantiation code completion #27, thanks for suggesting @Patrick-van-Halm
- add type-manager for improved type resolving
- fix nested #import in interpreter
- proper json output when map/list gets stringified
- fix refresh interval sometimes not parsing
- fix replace intrinsic
- fix deep equal via extending max depth from 2 to 10 in interpreter
- use correct alpha channel value for color picker
- fix error message in create_user related to invalid password format
- fix acks condition in aireplay
- fix permission check in get_content
- fix current_date format
- fix nslookup error handling
- use proper max files in same folder
- typeof for MetaMail returns now in the right capitalization
- fix power operator handling
- update meta descriptions
- remove key interaction on airplay to prevent issue
- fix wifi networks return value
- minor fixes for meta examples
- update meta version
- update meta version
- update readme
- fix potential crash in debugger
- use regex in split intrinsic
- fix list insert behaviour, return mutated list now
- update meta descriptions
- update meta performance
- escape dot in split intrinsic
- fix output format of show_procs in intrinsics
- fix EOL character in format_columns intrinsics
- update meta descriptions
- use mac and wifi name for bssid and essid to emulate ingame intrinsic
- fix potential crash caused by meta due to not using hasOwnProperty
- support customizable seed in interpreter
- support customizable environment variables in interpreter
- add build command in file context menu
- support circular dependencies for interpreter
- add circular dependency check for build
- support gh intrinsic references
- support program to launch itself
- add test-lib for setting up envs and debugging - read more
- returning proper library type names when using typeof
- time now returns elapsed time in seconds
- replace newline in print with actual newline
- refactor output handler enabling user_input not forcing newline
- fix potential crash in device_ports
- fix return value of name intrinsic for top file
- fix bug in regards of return getting swallowed in while/for iteration causing infinite loops
- improved error logging with actual stack trace on failure
- fix bug in regards of return getting ignored in wrapping while/for
- support behaviour of self in arguments
- expose join, split, to_int and replace functions in general namespace
- support map and list in replace
- update meta
- fix faulty mock data which could potentially cause crash
- rework parser to emulate greyscript behaviour more accurate
- fix text-mesh transformation render for inner children
- fix get library type in mock env, potentially fixing crash in netsession intrinsic
- fix paths starting with null resolving to general properties
- fix type resolve
- fix firewall_rules intrinsic return value
- fix wait not using seconds but milliseconds
- support refresh in print
- fix breakpoints in windows which were caused by file path being inconsistent
- forbid literal optimization in default args
- fix isa regarding boolean value, boolean now gets recognized by it as a member of number
- fix import_code injection in includes and imports
- add ingame directory settings property
- simplify import_code logic by removing second custom argument and allowing to create an installer to whatever ingame directory
- improve autocomplete including keywords, constants and operators
- improve auto increase/decrease indent
- fix hover tooltip for multiline strings
- instant exit on process termination
- fix lastIndexOf behaviour, only works with strings now and returns -1 instead of null
- fix return type of indexOf signature
- fix tooltip for lastIndexOf
- remove usage of boolean type in tooltips and signatures to avoid confusion since technically booleans do not exist
- minor improvement to index expression type analyzing
- use modified transformer to get namespace for type
- partialy support type resolve from identifier assigned in imported file
- fix type resolve within slice expression
- improve type resolve for assignments using locals, globals or outer prefix
- extend namespace find method to use assignment instead of namespaces coming from parser
- fix possibly wrong start position of member, index and call expression
- inject map constructor namespaces
- inject list constructor namespaces
- add block comment support
- add comment function description support
- add action to transform to clipboard instead of writing into file
- improve build error output
- fix issue related to includes and type resolve
- add support for multiply and division on lists
- improve support for command_info behavior
- update to latest meta descriptions
- changes regarding performance and style of api view
- optimize meta package size
- fix progress bar print not getting replaced in terminal
- improve extension node build
- add share logic
- move transforms from context menu into submenu
- remove usage of vscode uri for clipboard write in order to prevent encoding
- update meta descriptions
- improve greyscript syntax
- cast null to empty string when concatenation
- fix syntax related to pseudo types
- support function paramter in syntax
- add general functions to support.function syntax
- update meta descriptions
- fix syntax grammar files location
- fix function textmate syntax
- if any is included in types just display any
- support multiline conditions
- support slice type resolve
- add debugger keyword to textmate syntax
- fix textmate syntax related to strings within functions and pseudo-types
- fix argument types for to_int and insert
- fix super behavior in regards of accessessing direct __isa
- add launch call stack limit
- support minus operator for strings
- fix binary expression order on same precedence
- fix syntax exception in case call expression without paren was in last line
- fix various binary operations on number, list and map operations
- use ordinal comparison on greater and less than operations for strings
- support division on strings
- add modulo operator to textmate syntax
- fix order in operator textmate syntax
- use rnd function factory to get properly working rnd with seed
- fix various evaluation expression output values
- fix replaceText behavior in print by using pseudo terminal directly and not message queue
- add c2 agent to support remote file creation in-game
- add support to cache refreshToken for ingame file creation
- change vscode built for node version in order to support the c2 agent and steam
- update meta involving create_folder signature fix
- add support for funcRef in syntax highlight and code execution
- add funcRef, list, number, string, params, globals, locals, outer and self to autocomplete constants
- update meta
- add support to be able to modify idx variables within for iterations
- fix: set computers list at rshell service install
- support color shorthand in text-mesh
- support quotes in text-mesh tags
- improve pseudo terminal text input, support arrow keys
- fix get_router intrinsic when providing lan ip
- allow non literals in function declaration params
- fix issue with call statement without parens
- remove "from" keywords
- use setImmediate/setTimeout instead of nextTick to fix stdout issue within iterations
- fix issue within import_code dependency management which could cause an invalid order, order should be more accurate now
- improve text mesh transform approach to use queueing instead of recursion preventing exceeding maximum call stack
- use static isa objects for grey hack specific intrinsics to enable usage of isa on those types
- improve installer logic of generated installer file
- fix issue if line is longer than maxChars allowed in installer - related to #102
- implement autocompile feature for installer - thanks for the suggestion to @stevenklar - related to #106
- add auto delete of installer on every installer not just the last one - related to #106
- fix object value delete (fixes remove intrinsic)
- fix globals lookup - thanks for reporting to @Olipro - related to #108
- add defaultArgs option - thanks to @Olipro for the suggestion - related to #82
- add silence error popups option - thanks to @Olipro for the suggestion - related to #82
- update remove intrinsic to properly work with object value delete
- use vscode workspace directory when using slash at the beginning of import path - thanks to @Olipro for the suggestion - related to #84
- allow // as an alternative to # for import and include statement - thanks to @Olipro for the suggestion - related to #85
- fix multiply and divide string which mistakenly was using list as a default value when the factor was zero - thanks for reporting to @Olipro - related to #88
- more proper to string for function - thanks for reporting to @Olipro - related to #89
- fix async function argument builder
- fix execution continueing in path resolve even though interpreter is in exit state - thanks for reporting to @Olipro - related to #91
- fix isa not working when assigning __isa manually + when merging two maps - thanks for reporting to @Olipro - related to #92
- add IS_GREYBEL property to globals - thanks to @Olipro for the suggestion - related to #93
- add access to stacktrace via test lib - thanks to @Olipro for the suggestion - related to #93
- fix stacktrace reset in testlib when using try_to_execute
- fix breakpoint reset in testlib when using try_to_execute_with_debug
- fix errors related to path resolve when stoping script execution via debugger
- fix incorrect scope resolution order - thanks for reporting to @Olipro - related to #97
- add .ms file extension - related to #96
- fix lookup to only include locals, outer and globals to properly replicate MiniScript behavior - thanks for reporting to @Olipro - related to #100
- fix self, locals, globals, outer not being implicit in order to properly replicate MiniScript behavior - thanks for reporting to @Olipro - related to #100
- minor optimization when looking up self, locals, globals, outer
- add error when trying to lookup unknown path on number or string
- add error when calling function with too many arguments
- add new line in scan_address intrinsic to properly replicate GreyScript behavior - thanks for reporting to @Olipro - related to #101
- fix scp intrinsic groups lookup
- add more permissions to generated myprogram file - thanks to @Olipro for the suggestion
- create object for get_custom_object on each env creation - thanks for reporting to @Olipro
- fix lookup prebuild for locals, outer, globals and self - thanks for reporting to @Olipro - related to #100
- fix error on passing non-empty lists on non parenthese call expressions - thanks for reporting to @Olipro - related to #104
- fix shorthand doesn't work with self, globals, outer and locals - related to #106
- update proxy version to latest version - related to #108 and maybe #107
- reset string, number, function, map and list intrinsics each session - thanks for reporting to @Olipro - related to #110
- use maps with actual hashing for objects in order to get faster key lookups
- fix hasIndex looking up __isa entries - thanks for reporting to @Olipro - related to #114
- support same behavior related to anonymous functions and outer scope - thanks for reporting to @Olipro - related to #115
- improve iteration performance by batching async iterations
- add intrinsics related to regular expressions - thanks for reporting to @Olipro - related to #117
- add maxCount argument to map/list replace intrinsic
- update greybel-proxy to support new version
- update to latest meta which includes signatures and descriptions related to new regex intrinsics, netsession, computer and ctfevent
- update textmate syntax to include new regex intrinsics
- revert iteration performance improvement
- add new netsession intrinsics
- add get_ctf, will always return null for now
- add computer get_name intrinsic
- add markov generator for more accurate usernames, passwords etc.
- erase all previous lines on print replaceText
- fix return value on enter key press - thanks for reporting to @Olipro - related to #121
- use globals if outer is not available
- expose trim, lastIndexOf, replace and reverse intrinsic to global scope
- add trim, lastIndexOf, replace and reverse to generic signatures
- add ascending argument to sort intrinsic
- improve function stringify
- update meta text - thanks for the contribution to @Olipro
- fix hangup related to comparisons - thanks for reporting to @Olipro - related to #119
- detect backspace on keypress - thanks for reporting to @Olipro - related to #124
- only pass target from context in launch when file contains original script
- fix overflow password exploit condition - thanks for the contribution to @Olipro
- fix process state not getting reset in script executed by shell launch intrinsic - thanks for reporting to @Olipro
- override process state into function scope
- fix loading bar in console
- bump proxy version due to latest GreyHack update
- add sequence for insert, home, end, page down, page up and delete - thanks for reporting to @Olipro - related to #124
- bump proxy version due to latest GreyHack update
- update to latest steam-user version which includes fix for refresh token
- fix for user_input, changed switch statement to differentiate between specific chars and other input - thanks for reporting to @Olipro - related to #134
- bump proxy version due to latest GreyHack update
- bind context of owning map to super instead of the call context - thanks for reporting to @Olipro - related to #136
- add hideUnsupportedTextMeshProRichTextTags flag - thanks to @Olipro for the suggestion - related to #139
- expose all GreyHack intrinsics in global scope and also add signatures to meta - thanks for reporting to @Olipro - related to #142
- add aptclient and blockhain vulnerability generation in mock env - thanks for reporting to @Olipro - related to #141
- fix super behavior in certain edge cases
- change approach on exposing map, list, number, string and funcRef objects
- bump proxy version due to latest GreyHack update
- pass stacktrace to child interpreter via launch in order to enable to receive the correct stacktrace
- add snippets
- fix exit within call args and if condition - thanks for reporting to @Olipro - related to #145
- bump proxy version due to latest GreyHack update
- improve file importer feedback when files couldn't be imported
- update dependencies to next major version
- add %= and ^= operators
- support else after return in single-line if
- support multiline comparisons
- fix issue with call statement without parentheses and first negative arg
- add missing pull instrinsic from meta info of map
- fix numeric logical expression
- fix failing cases for hasIndex and indexOf (test suite)
- fix failing cases for insert (test suite)
- fix failing cases for remove (test suite)
- fix failing cases for round (test suite)
- fix failing cases for pop (test suite)
- fix failing cases for sort (test suite)
- change hashing and deep equal approach
- fix failing cases for replace (test suite)
- fix meta map pull signature
- fix typeof + toString behavior of maps with classID
- add file icon
- fix failure when sortKey was not existing
- support detection of all single line comments above function declaration
- replacing recursive interpreter with bytecode generator + vm to improve performance
- due to the new interpreter the stacktrace should be more accurate - thanks for reporting to @Olipro - related to #109
- fix error message popup when instruction is internal
- add support for text mesh tags to close on newline
- fix prepare error on execute not showing line
- add preview grey hack output (WIP)
- do not allow frame pop on global frame
- fix for iterations combined with returns causing the iterator stack not to pop
- fix self not being reassignable within frame
- bump proxy version due to latest GreyHack update
- use dot as resolve trigger for autocompletion handler + minor adjustments - related to #158
- bump proxy version due to latest GreyHack update
- transform several text editor commands into normal commands - thanks for reporting to @MadbHatter - related to #157
- update meta to improve autocomplete
- use active document for build, refresh, import and share if there is no event uri available - thanks for the suggestion to @MadbHatter - related to #157
- make gotoError and transforms invisible in command palette since those require the context of an editor
- bump proxy version due to latest GreyHack update
- minor fixes to meta descriptions
- fix missing fallback value for allow import for file entities in mock environment
- update steam client
- minor fixes to meta descriptions
- fix connect_ethernet intrinsic ip check
- fix airmon intrinsic stop option
- fix missing boot folder in generated computers
- improve preview output - thanks for the suggestion to @Olipro - related to #139
- use proper sprite set for preview output
- add pointer for current active instruction for stacktrace
- use proper font weight map
- bump proxy version due to latest GreyHack update
- exclude params from optimization in transpiler
- add all optimization excludes used in build to transform as well
- add myprogram as process when script is getting executed
- while minimizing check if hasIndex value exists in namespaces otherwise falls back to not otimized value
- automatically saves target file on build if file is in a dirty state - thanks for the suggestion to @gatekeeper258 - related to #155
- bump proxy version due to server change
- fix index expression to replicate #89 behavior of MiniScript
- add frame limit to interpreter to prevent crashing VSCode due to infinite recursion caused by a script - related to #172
- prevent error when stopping script execution while waiting for key input
- enable to change background color of terminal preview view
- enable some commands for VSCode web version - related to #173 - thanks for reporting to @almostSouji
- add message-hook agent to enable a smoother workflow when importing files in-game
- fix instruction in readme for message-hook agent
- update GreyHackMessageHook.dll version to 0.3 adding an auto close - thanks to @stevenklar - related to #159
- add auto compile option for create in-game feature - thanks for the suggestion to @stevenklar - related to #160
- add function definition to signature helper - thanks for the suggestion to @stevenklar
- decrease cooldown between agent messages to speed up building process
- add jsdoc syntax parser to comment to modify signatures that are shown - thanks for the suggestion to @stevenklar
- fix bytecode generator passing noInvoke flag to sub nodes causing issues when using addressOf on expression with more than two members
- improve error output for user when in-game import feature fails to import
- update GreyHackMessageHook.dll version to 0.4 to use unity thread for closing terminal
- fix message handling in headless agent causing connection to get dropped under certain conditions - thanks for reporting SkidMall
- fix general sort description
- fix list sort signature
- change window handle for agents to prevent partial import error - thanks for reporting @gatekeeper258
- improve file removal step on auto-compile to instant
- allow super being reassigned
- fix super not using proper origin when calling a function of parent - thanks for reporting apparatusdeus
- set super to null if there is no parent class
- add ms file extension to be detected as GreyScript file
- fix shell.launch layer counter to decrease on nested script end - thanks for reporting @stevenklar
- add highlighting, signature and description for new reset_password_coin and reset_ctf_password
- add missing descriptions for reverse, lastIndexOf and trim in general
- add placeholders for new intrinsics
- update headless agent to work with latest version
- add missing steam-user packages to .vscodeignore causing extension to fail loading - thanks for reporting SkidMall
- improve parser recovery from invalid syntax
- use backpatching to enable similar MiniScript parsing of blocks, this may cause previous valid greybel syntax to be invalid especially when it comes to function blocks
- introduce #line and #filename keyword for debugging
- fix import_code behaviour in interpreter so it's content is only executed once
- add @description and @example tag to comment docs
- fix an issue with scp where the function would try to get the groups via the wrong property potentially causing a crash - thanks for reporting @stevenklar
- add logic to automatically clean up after auto-compile (including folders)
- update share functionality with new web editor service url
- update meta package which contains fix for rename description regarding return value on failure
- fix issue with headless agent when refreshToken was expired causing the follow up queries to timeout
- update steam client
- fix certain cases of open blocks causing errors in unsafe parsing mode
- exclude greybel-agent from bundle
- fix format of library version
- fix build not setting allow_import
- fix permissions when assigned them via chmod intrinsic
- fix typeof intrinsic to not check for parent classID
- fix matches regexp intrinsic causing infinite loop
- add NaN check for numeric literal scan in order to show syntax errors on invalid numbers - thanks for reporting c1ph3r
- include lexer exceptions in diagnostics
- ignore return statement when it's not within function scope
- remove any limitations from the vscode web version since everything seems to be compatible with code serve-web
- fix hover import and includes with missing extension
- fix document-manager for includes and imports without file extension
- add reason to output when build in auto compile failed
- still execute method which is called in return statement within global scope
- major improvement of interpreter in regards of performance by rewriting and optimizing parts of the bytecode-generator, internal hash-map, hashing and more
- improve multiline input via pseudo terminal
- allow key-press input mode to take value from clipboard when copy and pasting - thanks for reporting to @Olipro - related to #160
- fix parsing of add sub expression while being a command
- fix connect_service intrinsic - thanks for reporting to Zicore
- when building files automatically transform CRLF to LF - thanks for reporting to Zicore and @Stiffi136
- fix bytecode generator source assignment which caused the interpreter to show the wrong file when using imports - thanks for reporting to @Stiffi136
- update headless client due to latest Grey Hack update
- improve tcp client stability
- rename minify transform to uglify transform to prevent confusion
- add link to BepInEx 5.x.x plugin
- updated description for BepInEx
- fix is_valid_ip description example - thanks for the contribution to @Wombynator
- fix error message handling to avoid unintended navigation - thanks for the contribution to @Wombynator
- move terminal preview into external package in order to decrease size of extension
- update rnd method to only return the first generated value of a seed and not continuously generate new values of one seed to properly resemble the original MiniScript behaviour
- fix matches logic which caused skipping of results
- fix behaviour of to_int intrinsic, only parses integers instead of floating numbers
- fix behaviour of val intrinsic, properly parse strings which have commas prior to dot
- fix lexer which could for certain character under certain conditions cause inifinite loops
- improve beautifier formatting - related to #176
- add formatter - related to #176
- separate webview from greyscript-meta
- fix behavior of val intrinsic on leading comma
- support funcRef intrinsic
- add repeat keyword - related to #213 - thanks for reporting to @sornii
- implement new type manager which keeps better track of types and properties
- fix and improve documentation regarding intrinsics
- support defining argument and return types for functions through comments to which the hover and auto complete features will react accordingly
- add parenthesis for compound assignment - related to #197 - thanks for reporting to @sornii
- add transpiler beautifier option to keep parentheses - thanks for the suggestion to @stevenklar
- add transpiler beautifier option to set indendation by either tab or whitespace
- add transpiler beautifier option to set amount of whitespaces for indentation
- add dev mode for transpiler so that it won't transpile code into production ready code, meaning that for example includes or imports won't be transpiled via formatter but rather by build command
- minor optimizations regarding type resolver such as resolving types through parentheses, keeping api definitions apart from custom definitions preventing unwanted merged definitions, using a proxy container for signature definitions and fixing line overriding for identifier causing to use wrong start lines
- add super keyword to type-analyzer
- fix member expression containing new unary when resolving type
- only use shallow copy when copying entity to avoid memory exhaustion for type-analyzer
- properly resolve members of scope variables and api definitions for type-analyzer
- fix resolving of namespaces
- optimize deep-hash and deep-equal
- improve error message when path not found in type
- fix typo in len meta description
- use gs instead of ms interpreter in launch intrinsic
- improve definition provider
- add missing map intrinsic description
- fix autocomplete including map related intrinsics in general
- properly check in type-analyzer if string in index is valid identifier
- let type-analyzer resolve isa expressions as number
- enforce LF in import functionality just as in the build feature - related to #222 - thanks for reporting to Ren
- let type-analyzer resolve logical expressions as number
- let type-analyzer set proper label for binary expression
- keep multiline comments in devMode when beautifying
- fix beautify regarding multiline comments
- fix beautify when having multiple commands in one line via semicolon
- fix signature parser for multiline comments
- add support for envar, file and line in type-analyzer
- fix misplacement of colorpicker in multiline strings
- fix launch_path meta example
- improve launch_path, program_path and launch meta descriptions
- automatically save dirty files on build, including imports - thanks for the suggestion @midsubspace
- use encoding for links in imports tooltip
- optimize build size
- optimize interpreter task schedule, resulting in faster execution
- fix beautify indent on shorthand if else
- make installer code more verbose, including more error messages
- update message-hook agent to version 0.5, being able to properly sync windows between the two clients (NOTE: you'll need download the newest dll manually)
- add while snippet - thanks for the suggestion Angelic
- add postCommand option to build - thanks for the suggestion @midsubspace
- add inject expression - related to #218 - thanks for the suggestion @midsubspace
- fix folder import on workspaces - thanks for reporting to @midsubspace
- show proper error message when trying to call propery from null value instead of throwing ".getWithOrigin is not a function"
- replace usage of fs paths with vscode uris to prepare for language server port
- fix "Error: EINVAL: invalid argument, mkdir" error on build - related to #232 - thanks for reporting Pungent Bonfire
- fix "Edit is only valid while callback runs" on transform - thanks for reporting Pungent Bonfire
- fix bytecode generator to properly add negative numbers as default parameters,
function myFunc(index = -1)
works now - fix handling of non literal comparisons such as biggerThan, biggerThanOrEqual, lessThan or lessThanEqual,
"23" < [42]
now correctly returns null - properly support grouped comparisons,
"0" <= numberStr <= "9"
works now - properly parse shorthands if those are containing a block
- fix metaxploit load not checking if returned entity is actually a file
- fix beautify not handling multiline expressions in block openers correctly resulting in unwanted new lines
- fix beautify not properly appending comment if keepParentheses option is active
- fix beautify not handling if shorthands with function blocks in them correctly resulting in unwanted new lines
- minor performance improvements in parser
- fix beautify not properly appending comment to index expression
- fix beautify for if shorthand clause with comment
- fix beautify adding an unwanted new line to empty blocks
- fix beautify adding unwanted new lines for if shorthands with multiline expression towards end of block
- fix goto error functionality not working due to latest uri changes
- move IntelliSense functionality into greybel-languageserver
- fix IntelliSense of web version of extension
- fix beautify causing misbehaviour when list/map one-liners had comment at end
- allow binary expression to be executed as statement
- cleanup open handles of binary/logical expression that are statements
- reduce lsp document manager tick frequency
- properly handle missing files in ls - related to #243 - thanks for reporting to @linuxgruven
- fix handling textDocument/documentSymbol failed error in ls, which was caused when there was invalid syntax at some point - related to #243 - thanks for reporting to @linuxgruven
- update set_content tooltip to include lacking permissions as reason to return 0
- fix tooltip formatting logic which could potentially cause "Cannot read properties of null"
- properly handle if workspaces are null which could potentially cause "Cannot read properties of null" - thanks for reporting to Unlisted_dev
- improve handling of workspaces in extension and lsp
- fix error related to type analyzer that could cause "Cannot read properties of undefined (reading 'start')" in lsp - thanks for reporting to serdartpkl
- fix beautify for parentheses and comments where a comment would be right after closing parenthese
- fix function argument recovery if invalid syntax was provided in function arguments
- rather fallback than throw error if leading slash is used but workpace is not available
- refactor transformer in transpiler to improve transformations
- fix conflict with comments on beautify - related to #53 - thanks for reporting to @Xisec
- fix edge cases for variable optimizations on uglify
- fix edge cases for literal optimizations on uglify
- fix globals shorthand identifier not getting injected when no literal optimization were happening - related to #157 - thanks for reporting to @smiley8D
- fix behaviour of import op in runtime which caused it's payload to be called every time it was imported, instead it's only getting executed once now - related to #222 - thanks for reporting to @smiley8D
- properly handle values that cannot be iterated through on for loop
- fix type analyzer failing if slice expression was used after expression - related to #255 - thanks for reporting to @ide1ta
- add meta description for intrinsics of current nightly version
- update textmate with methods and types of current nightly version
- add custom types handling in type analyzer - related to #198
- fix issue related to building of larger projects which could lead to maximum call stack size exceeded error to be thrown - thanks for reporting to @ide1ta
- add option to enable prompt for every import to enter ingame directory - thanks for the suggestion to Phreaker
- improve type resolve performance
- improve type document merger performance
- extend custom types with virtual properties
- allow "custom type" type docs above new statements
- show inherited properties of custom types properly in autocomplete
- improve definition provider
- fix hover cache issue which resulted in tooltips not showing up
- improve autocompletion logic to use type analyzer merged document
- properly handle cyclic isa defintions in type analyzer
- include all custom type definitions of entities with multiple types
- update extension readme with introductions for Linux
- fix readme in regards of projects
- add check in symbol provider to filter map key values out
- fix mock env folder deletion behaviour - thanks for reporting to @ide1ta
- forbid keywords in uglify namespaces optimization - thanks for reporting to @linuxgruven
- fix for iteration namespace optimization of __i_idx variables - thanks for reporting to @linuxgruven
- fix literal optimization for negative numeric values - thanks for reporting to @linuxgruven
- fix rnd intrinsic seed behaviour - thanks for reporting to GSQ
- fix bitwise intrinsic to properly do 64bit bitwise operations - thanks for reporting to GSQ
- extend type analyzer with workspace strategy
- fix file resolve in workspace strategy
- minor improvement to assumption logic of non existing properties
- remove map and list properties from assignment registry resulting in less noise within the symbol provider
- include full namespace in symbol provider
- add new entity kinds to improve visibility of internal intrinsics in auto complete
- fix file extension handling in build intrinsic - related to #271 - thanks for reporting to @ide1ta
- improve error reporting on file imports - should make it more clear what the reason for failure is
- change type analyzer to only assume on define
- when merging internal definitions take first entity kind instead of using internal kind
- prevent the transpiler from using special patterns when inserting transformed code - this fix resolves issues with code combinations that include special patterns such as
$$
,$&
,$'
,$n
, and$<name>
- update hashing method in interpreter in favor of lower collision but worse performance
- add allowImport option for both installer and create ingame flow
- fix line registry in parser which could potentially mess up auto complete items within block openers - thanks for reporting to @ide1ta
- improve beautifier transformation in regards of comments within lists and maps
- add open vsx to deployments
- fix parsing of file path for breakpoints in windows - would cause breakpoints not getting triggered - thanks for reporting to foskon
- support nested type signatures for maps and lists such as
map<string,number>
orlist<string>
- add support to resolve type of for-in iterator
- add support to resolve type of #import namespace correctly
- resolve all possible value types if
any
type is existing in index expression
- support nested type signatures for maps and lists in property comment docs
- fix index expression behaviour within statement
- fix comment docs not recognising comments in nested functions - thanks for reporting to @redit0
- fix index expression behaviour within statement
- fix type resolve of index expression
- fix invalid line positions of clauses when resolving type
- improve type resolve of index expression
- use temporary folder to use "dddd.src" as file name when building to force smallest possible binary size - thanks for the suggestion to @redit0
- move final binary after deleting files in auto compile - thanks for reporting to @redit0