All notable changes to the "robotcode" extension will be documented in this file.
- "create keyword" quick fix detects bdd prefixes in the keyword being created and creates keywords without the prefix
- reporting suites and tests with the same name when tests are discovered
- user default
robot.tomlconfig file
- completion of bdd prefixes optimized
- vscode: added a statusbar item that shows some information about the current robot environment, like version, python version, etc.
- removed old
robotcode.debuggerscript in favor of usingrobotcode debugcli command
- better output for discover info command
- discover tests for RF 6.1.1
- in a test run, errors that occur are first selected in the test case and not in the keyword definition
- correct completion of settings with ctrl+space in some situation
- correct update of test run results when suite teardown fails or is skipped during suite teardown
- robotcode: add missing profile settings to config documentation
- add missing log-level in testcontroller
- don't update tests if editing
__init__.robotfiles
- move to commitizen to create new releases, this is only a dummy release..
- reset changlog
- duplicated header completions if languages contains same words
- dont update tests in an opened file twice if file is saved
- debugger: print the result of an keyword in debugger also if it has a variable assignment
- debugger: expanding dict and list variables in the variable view of the debugger, this also works in hints over variables, in the watch view and also by evaluating expressions/keywords in the command line of the debugger
- show deprecation information if using
Force TagsandDefault Tags - complete reserved tags in Tags settings
- show more informations in hint over a variables import
- debugger: simple keyword completion in debugger
- debugger: switching between "keyword" and "expression" mode by typing
# exprmodeinto debug console (default: keyword mode) - debugger: debugger does not stop on errors caught in TRY/EXCEPT blocks
- debugger: hide uncaught exceptions now also works correctly for RF >=5 and < 6.1
- debugger: (re)disable attachPython by default
- correct message output in test results view
- stabilize debugger with new vscode version > 1.79
- Update diagnostic for Robocop 4.0 release after disablers module was rewritten
- Allow multiline RF statements in debug console
- debugger: evaluation expressions in RFW >= 6.1 not work correctly
- insted of starting the debugger, start robotcode.cli in debug launcher
- library doc now generates a more RFW-like signature for arguments and argument defaults like ${SPACE}, ${EMPTY}, ${True}, etc. for the respective values
- document_symbols throws exception if section name is empty
- change code property for diagnostics for analyse imports to ImportRequiresValue
- completion and diagnostics for import statements for RF >= 6.1
- add option to start a debugpy session for debugging purpose
- correct handling error in server->client JSON RPC requests
- detect languageId of not given at "textDocument/didOpen"
- extension not terminating sometimes on vscode exit
- make mypy and ruff happy
- update testitems does not work correctly if a init.robot is changed
- only update test explorer items if file is a valid robot suite
- Intellisense doesn't work when importing yml file with variables #143
- support for importing
.jsonfiles in RF 6.1 - Enable importing and completion of
.rest,.rsrcand.jsonresource extensions (not parsing) - support for new RF 6.1
--parse-includeoption for discovering and executing tests
- correct highlightning
*** Tasks ***and*** Settings *** - hover over a tasks shows "task" in hint and not "test case"
- checks for robot version 6.1
- support for new
--parseincludeoption in robot config
- compatibility with Python 3.12
- resolving variable values in hover for RF 6.1
- fix some mypy warnings
- new
robotcode.robotidy.ignoreGitDirandrobotcode.robotidy.configsetting to set the config file for robotidy and to ignore git files if searching for config files for robotidy - optimize/speedup searching of files, setting
robotcode.workspace.excludePatternsnow supports gitignore like patterns
- patched FileReader for discovery should respect accept_text
- some optimization in searching files
- show argument infos for dynamic variables imports
- wrong values for command line vars
- new command
RobotCode: Select Execution Profiles - language server now is a robotcode cli plugin and can use config files and execution profiles
- new command
discover tags
- Bring output console into view if robotcode discovery fails
- use dispose instead of stop to exit language server instances
- fix some ruff warnings
- discover: wrong filename in diagnostics message on update single document
- Reintroduce of updating the tests when typing
- test discovery now runs in a separate process with the
robotcode discovercommand, this supports also prerunmodifiers and RF 6.1 custom parsers
- some correction in completions for robotframework >= 6.1
- langserver: resolving variables as variable import arguments does not work correctly
- correct some help texts and printing of output
- simple
discover allcommand - select run profiles in test explorer
- runner: add
runalias forrobotcommand in cli
- debug-launcher: switch back to
stdiocommunication, because this does not work on Windows with python <3.8
- some code scanning alerts
- debugger: refactored robotcode debugger to support debugging/running tests with robotcode's configurations and profiles, also command line tool changes.
- correct toml json schema urls
- fix some ruff errors
- create robotcode bundled interface
- Improved Handling of UTF-16 encoded multibyte characters, e.g. emojis are now handled correctly
- end positions on formatting
- correct formatting with robotframework-tidy, also support tidy 4.0 reruns now, closes #124
- update git versions script
- dataclasses from dict respects Literals also for Python 3.8 and 3.9
- allow expression for str options, better handling of tag:, name: options
- add command for robots testdoc
- switch to src layout
- Profiles can now be enabled or disabled, also with a condition. Profiles can now also be selected with a wildcard pattern.
- new commands robot, rebot, libdoc for robotcode.runner
- robotcode: Add commands to get informations about configurations and profiles
- move the config command to robotcode package
- add more configuration options, update schema, new command config
- robotcode-runner: robotcode-runner now supports all features, but not all robot options are supported
- implement robot.toml config file and runner
- support for Refresh Tests button in test explorer
- update regression tests
- correct analysing keywords with embedded arguments for RF >= 6.1
- correct discovering for RobotFramework 6.1a1
- correct version of robotcode runner
- Source actions are missing in the context menu for versions #129
- debugger is now started from bundled/tool/debugger if available
- #125 Robot Code crashes with a variables file containing a Dict[str, Callable]
- return codes for command line tools now uses sys.exit with return codes
- unknown workspace edit change received at renaming
- The debugger no longer requires a dependency on the language server
- some big refactoring, introdude robotcode.runner project
- split python code into several packages, now for instance robotcode.debugger can be installed standalone
- introduce bundled/libs/tool folders and move python source to src folder
- publish script
- Github workflow
- Switch to hatch build tool and bigger internal refactorings
- correct error message if variable import not found
- generate lsp types from json model
- fix some mypy errors
- fix some PIE810 errors
- simplify some code
- fix some flake8-return warnings
- fix some pytest ruff warning
- use
listover useless lambda in default_factories - change logger calls with an f-string to use lambdas
- Replace *Generator with *Iterator
- fix some ruff errors and warnings, disable isort in precommit
- robotlangserver: workspace rpc methods are now running threaded
- robotlangserver: optimize test discovering
- vscode: In long test runs suites with failed tests are still marked as running even though they are already finished
- add
typeparameter to end_output_group
- debugger: new setting for
outputTimestampsin launch and workspace configuration to enable/disable timestamps in debug console
- debugger: show error/warning messages of python logger in debug console
- set env and pythonpath erlier in lifecycle to prevent that sometime analyses fails because of python path is not correct
- robotlangserver: retun correct robot framework version test
- robotlangserver: robot version string is incorrectly parsed if version has no patch
- start diagnostics only when the language server is fully initialized
- robotlangserver: Create undefined keywords in the same file
- prepare create keywords quickfix
- introduce asyncio.RLock
- robotlangserver: highlight named args in library imports
- robotlangserver: remove possible deadlock in completion
- robotlangserver: resolving imports with arguments in diffent files and folders but with same string representation ie. ${curdir}/blah.py now works correctly
- robotlangserver: generating documentation view with parameters that contains .py at the at does not work
- Add onEnter rule to split a long line closes #78
- robotlangserver: remove possible deadlock in Namespace initialization
- robotlangserver: if a lock takes to long, try to cancel the lock
- use markdownDescription in settings and launch configurations where needed
- remove unneeded code
- massive overall speed improvements
- Caching of variable imports
- new setting
robotcode.analysis.cache.ignoredLibrariesto define which libraries should never be cached
- robotlangserver: speedup analyser
- try to handle unknow documents as .robot files to support resources as .txt or .tsv files
- robotlangserver: Loading documents hardened
- generating keyword specs for keywords with empty lineno
- robotlangserver: Implement embedded keyword precedence for RF 6.0, this also speedups keyword analysing
- robotlangserver: support for robot:private keywords for RF>6.0.0
- robotlangserver: show keyword tags in keyword documentation
- debugger: add
includeandexcludeproperties to launch configurations
- robotlangserver: Ignore parsing errors in test discovery
- vscode-testexplorer: Correctly combine args and paths in debug configurations
- speedup loading and analysing tests
- robotlangserver: Better error messages if converting from json to dataclasses
- debugger: Move debugger.modifiers one level higher to shorten the commandline
- debugger: use default target if there is no target specified in launch config with purpose test
- New command
Clear Cache and Restart Language Servers - debugger: possibility to disable the target
.in a robotcode launch configurations withnull, to append your own targets inargs - robotlangserver: new setting
.analysis.cache.saveLocationwhere you can specify the location where robotcode saves cached data
- robotlangserver: don't report load workspace progress if progressmode is off
- robotlangserver: Speedup loading of class and module libraries
- robotlangserver: Update libraries when editing not work
- vscode: Highlightning comments in text mate mode
- vscode: Some tweaks for better highlightning
- robotlangserver: Speedup keyword completion
- robotlangserver: refactor some unnecessary async/await methods
- vscode: Enhance tmLanguage to support thing like variables, assignments,... better
- vscode: Add configuration defaults for
editor.tokenColorCustomizationsandeditor.semanticTokenColorCustomizations
- vscode: Provide better coloring in the debug console.
- robotlangserver: Highlight dictionary keys and values with different colors
- robotlangserver: Optimization of the analysis of keywords with embedded arguments
- robotlangserver: Highlight embedded arguments
- vscode: add new command
Restart Language Server
- robotlangserver: try to hover, goto, ... for keyword with variables in names
- vscode: Capitalize commands categories
- Simplifying implementation of discovering of tests
- debugger now also supports dictionary expressions
- Improve analysing, find references and renaming of environment variables
- Optimize reference handling.
- This allows updating references when creating and deleting files, if necessary.
- Correct resolving paths for test execution
- Optimize locking
- Speedup collect available testcases
- Add sponsor to package
- Connection to the debugger stabilized.
- Implement inlay hints for import namespaces and parameter names
- by default inlay hints for robotcode are only showed if you press CONTROL+ALT
- there are 2 new settings
robotcode.inlayHints.parameterNamesandrobotcode.inlayHints.namespaceswhere you can enable/disable the inline hints
- Remove
--languageargument if using robot < 6- fixes #84
-
Remote Debugging
- by installing
robotcodevia pip in your environment, you can now run therobotcode.debugger(see--helpfor help) from command line and attach VSCode via a remote launch config - more documentation comming soon.
- closes #86
- by installing
- none so far
- none so far
- The code action "Show documentation" now works for all positions where a keyword can be used or defined
- The code action "Show documentation" now respects the theme activated in VSCode. (dark, light)
- Support for Robocop >= 2.6
- Support for Tidy >= 3.3
- Speed improvements
- none so far
- none so far
- Reimplement workspace analysis
- Optimize the search for unused references
- Add a the setting
robotcode.completion.filterDefaultLanguageto filter english language in completion, if there is another language defined for workspace or in file - Correct naming for setting
robotcode.syntax.sectionStyletorobotcode.completion.headerStyle - Filter singular header forms for robotframework >= 6
- none so far
- Support for simple values (number, bool, str) from variable and yaml files
- Shortened representation of variable values in hover
- none so far
- none so far
- Documentation server now works also in remote and web versions of VSCode like gitpod.io and GitHub CodeSpaces
- add colors to debug console
- fix resolving of ${CURDIR} in variables
- Open Documentation action now resolves variables correctly and works on resource files
- none so far
- none so far
- Correct reporting of loading built-in modules errors
- Correct analysing of "Run Keyword If"
- fixes #80
- Support for Robocop >= 2.4
- Rework handling of launching and debugging tests
- fixes #54
- a launch configuration can now have a
purpose:test: Use this configuration when running or debugging tests.default: Use this configuration as default for all other configurations.
- Finetuning libdoc generation and code completion
- support for reST documentions
docutilsneeds to be installed- show documentations at library and resource import completions
- support for reST documentions
- Experimental support for Source action
Open Documentation- left click on a resource or library import, select Source Action and then "Open Documentation"
- a browser opens left of the document and shows the full documentation of the library
- works also an keyword calls
- Tip: bind "Source Action..." to a keyboard short cut, i.e Shift+Alt+.
- Don't explicitly set suites to failed if there is an empty failed message
- fixes #76
- Extensive adjustments for multiple language support for RobotFramework 5.1, BDD prefixes now works correctly for mixed languages
- New deprecated message for tags that start with hyphen, RF 5.1
- Some fixes in analysing and highlightning
- none so far
- Highlight localized robot files (RobotFramework >= 5.1)
- Support for robotidy 3.0
- References are now collected at source code analyze phase
- this speeds up thinks like find references/renaming/highlight and so on
- Switching to LSP Client 8.0.0 requires a VSCode version >= 1.67
- Create snippets for embedded argument keywords
- Some corrections in highlightning to provide better bracket matching in arguments
- Implement API Changes for RobotTidy >= 2.2
- fixes #55
- Switch to new LSP Protocol Version 3.17 and vscode-languageclient 8.0.0
- Disable 4SpacesTab if GitHub CoPilot is showing inline suggestions
- Thanks: @Snooz82
- Find references, highlight references and rename for tags
- Correct handling of keyword only arguments
- Fix the occurrence of spontaneous deadlocks
- Information about possible circular imports
- if one resource file imports another resource file and vice versa an information message is shown in source code and problems list
- References for arguments also finds named arguments
- none so far
- none so far
- none so far
- none so far
- Reference CodeLenses
- Code lenses are displayed above the keyword definitions showing the usage of the keyword
- You can enable/disable this with the new setting
robotcode.analysis.referencesCodeLens
- Project wide code analysis
- There are some new settings that allow to display project-wide problems:
robotcode.analysis.diagnosticModeAnalysis mode for diagnostics.openFilesOnlyAnalyzes and reports problems only on open files.workspaceAnalyzes and reports problems on all files in the workspace.- default:
openFilesOnly
robotcode.analysis.progressModeProgress mode for diagnostics.simpleShow only simple progress messages.detailedShow detailed progress messages. Displays the filenames that are currently being analyzed.- default:
simple
robotcode.analysis.maxProjectFileCountSpecifies the maximum number of files for which diagnostics are reported for the whole project/workspace folder. Specifies 0 or less to disable the limit completely.- default:
1000
- default:
robotcode.workspace.excludePatternsSpecifies glob patterns for excluding files and folders from analysing by the language server.
- There are some new settings that allow to display project-wide problems:
- Rework loading and handling source documents
- this speedups a lot of things like:
- UI response
- finding references
- renaming of keywords and variables
- loading reloading libraries and resources
- When you create/rename/delete files, keywords, variables, you get an immediate response in the UI
- this speedups a lot of things like:
- renaming of keywords and variables
- speedup loading of resources
- Return values of keywords calls can be assigned to variables in the debugger console
-
You can call keywords in the debugger console just as you would write your keyword calls in robot files. Everything that starts with
'! '(beware the space) is handled like a keyword call, for example:! Log Hellowould call the keyword
Logand writesHelloto report.! Evaluate 1+2calls
Evaluateand writes the result to the log.To assign the result of a keyword to a variable write something like
! ${result} Evaluate 1+2This will assign the result of the expression to the variable
${result}in the current execution context.A more complex example:
! ${a} @{c}= ${b} Evaluate "Hello World!!! How do you do?".split(' ')A side effect of this is that the keyword calls are logged in log.html when you continue your debug session.
-
- Test Templates argument analysis
- Basic usage
- Templates with embedded arguments
- Templates with FOR loops and IF/ELSE structures
- see also Robot Framework documentation
- optimize restart language clients if configuration changed
- support for progress feature of language server protocol
- correct WHILE snippets
- handle invalid regular expressions in embedded keywords
- correct handling of templates with embedded arguments
- none so far
- Enable automatic publication of releases on github
- none so far
- Correct error in find variable references with invalid variables in variable section
- Fix selection range on white space
- Implement Selection Range support for Robot Framework
- starting from a point in the source code you can select the surrounding keyword, block (IF/WHILE,...), test case, test section and so on
- Provide better error messages if python and robot environment not matches RobotCode requirements
- fixes #40
- Correct restart of language server client if python interpreter changed
- Correct start of root test item if
robotcode.robot.pathsis used
- Correct find references at token ends
- If the cursor is at the end of a keyword, for example, the keyword will also be highlighted and the references will be found.
- Analyse variables in documentation or metadata settings shows a hint instead of an error if variable is not found
- fixes #47
- Correct robocop shows false "Invalid number of empty lines between sections"
- fixes #46]
- Introduce setting
robotcode.robot.pathsand correspondend launch config propertypaths- Specifies the paths where robot/robotcode should discover test suites. Corresponds to the 'paths' option of robot
- Introduce new RF 5
${OPTIONS}variable
- Variable analysis, finds undefined variables
- in variables, also inner variables like ${a+${b}}
- in inline python expression like ${{$a+$b}}
- in expression arguments of IF/WHILE statements like $a<$b
- in BuiltIn keywords which contains an expression or condition argument, like
Evaluate,Should Be True,Skip If, ...
- Improve handling of completion for argument definitions
- Support for variable files
- there is a new setting
robotcode.robot.variableFilesand correspondingvariableFileslaunch configuration setting - this corresponds to the
--variablefileoption from robot
- there is a new setting
- Correct handling of argument definitions wich contains a default value from an allready defined argument
- Correct handling of argument definitions wich contains a default value with existing variable with same name
- Implement "Uncaughted Failed Keywords" exception breakpoint
- from now this is the default breakpoint, means debugger stops only if a keyword failed and it is not called from:
- BuiltIn.Run Keyword And Expect Error
- BuiltIn.Run Keyword And Ignore Error
- BuiltIn.Run Keyword And Warn On Failure
- BuiltIn.Wait Until Keyword Succeeds
- BuiltIn.Run Keyword And Continue On Failure
- partially fixes #44
- speedup updating test explorers view
- from now this is the default breakpoint, means debugger stops only if a keyword failed and it is not called from:
- Introduce setting
robotcode.robot.variableFilesand correspondend launch config propertyvariableFiles- Specifies the variable files for robotframework. Corresponds to the '--variablefile' option of robot.
- Rework debugger termination
- if you want to stop the current run
- first click on stop tries to break the run like if you press CTRL+c to give the chance that logs and reports are written
- second click stops/kill execution
- if you want to stop the current run
- 'None' values are now shown correctly in debugger
- none so far
- Rework handling keywords from resource files with duplicate names
- also fixes #43
- Optimize collecting model errors
- also fixes #42
- Add
modeproperty to launch configuration androbotcode.robot.modesetting for global/workspace/folder- define the robot running mode (default, rpa, norpa)
- corresponds to the '--rpa', '--norpa' option of the robot module.
- fixes #21
- Introduce new version scheme to support pre-release versions of the extension
- see README
- Rework handling VSCode test items to ensure all defined tests can be executed, also when they are ambiguous
- see #37
- Semantic highlighting of new WHILE and EXCEPT options for RF 5.0
- Support for inline IF for RF 5.0
- Support for new BREAK, CONTINUE, RETURN statements for RF 5.0
- Add
dryRunproperty to launch configuration - Add "Dry Run" and "Dry Debug" profile to test explorer
- You can select it via Run/Debug dropdown or Right Click on the "green arrow" before the test case/suite or in test explorer and then "Execute Using Profile"
- Mark using reserved keywords like "Break", "While",... as errors
- Support for NONE in Setup/Teardowns
- Decrease size of extension package
- Sligtly correct displayName and description of VSCode package, for better relevance in Marketplace search
- See #39
-
Improved variable analysis
- In an expression like
${A+'${B+"${F}"}'+'${D}'} ${C}, every single 'inner' variable will be recognized, you can hover over it, it can be found as reference, you can go to the definition, ... - Also in python expressions like
${{$a+$b}}variables are recognized - Support for variables in expression in IF and WHILE statements
- in something like
$i<5the variables are recognized
- in something like
- Only the name of the variable is used for hovering, goto and ..., not the surrounding ${}
- In an expression like
-
Support importing variable files as module for RobotFramework 5
-
Depending on selected testcase names contains a colon, a semicolon is used as separator of prerunmodifier for executing testcases
- fixes #20
- note: i think you should not use colons or semicolon in testcase names ;-)
-
Improve Debugger
- The debugger shows variables as inline values and when hovering, it shows the current variable value not the evaluted expression
- Variables in the debugger are now resolved correctly and are sorted into Local/Test/Suite and Global variables
- Fix stepping/halt on breakpoint for IF/ELSE statements if the expression is evaluated as False
- Rework of stepping and stacktrace in the debugger
- Only the real steps are displayed in the stack trace
-
Optimize keyword matching
-
Ignoring robotcode diagnostics
- you can put a line comment to disable robotcode diagnostics (i.e errors or warnings) for a single line, like this:
*** Test cases *** first unknown keyword a param # robotcode: ignore Run Keyword If ${True} ... Log ${Invalid var # robotcode: ignore ... ELSE ... Unknown keyword No # robotcode: ignore -
Propagate import errors from resources
- errors like:
Resource file with 'Test Cases' section is invalidare shown at import statement - Note: Robocop has it's own ignore mechanism
- errors like:
-
Initialize logging only of "--log" parameter is set from commandline
- fixes #30
-
Optimize loading of imports and collecting keywords
- this addresses #24
- one of the big points here is, beware of namespace pollution ;-)
-
Full Support for BDD Style keywords
- includes hover, goto, highlight, references, ...
- correct semantic highlightning for "run keywords"
- now also named arguments in inner keywords are highlighted
- correct handling of parameter names in "run keywords" and inner keywords
- correct handling of resource keywords arguments
- Keyword call analysis
- shows if parameters are missing or too much and so on...
- Highlight of named arguments
- Improve handling of command line variables when resolving variables
- Remove handling of python files to reduce the processor load in certain situations
-
Resolving static variables, closes #18
- RobotCode tries to resolve variables that are definied at variables section, command line variables and builtin variables. This make it possible to import libraries/resources/variables with the correct path and parameters. Something like this:
*** Settings *** Resource ${RESOURCE_DIR}/some_settings.resource Library alibrary a_param=${LIB_ARG} Resource ${RESOURCE_DIR}/some_keywords.resource
- If you hover over a variable, you will see, if the variable can be resolved
-
show quick pick for debug/run configuration
- if there is no launch configuration selected and you want to run code with "Start Debugging" or "Run without Debugging", robotcode will show you a simple quick pick, where you can select a predefined configuration
-
some cosmetic changes in updating Test Explorer
-
correct handling of showing inline values and hover over variables in debugger
-
correct handling of variable assignment with an "equal" sign
-
add more regression tests
- some testing
- extend README.md
- added section about style customization
- extend feature description
- added file icons for robot files
- starting with VSCode Version 1.64, if the icon theme does not provide an icon for robot files, these icons are used
- add automatic debug configurations
- you don't need to create a launch.json to run tests in the debugger view
- correct step-in FINALLY in debugger
- test explorer activates now only if there are robot files in workspace folder
- Added support for RobotFramework 5.0
- Debugger supports TRY/EXCEPT, WHILE,... correctly
- (Semantic)- highlighter detects new statements
- Formatter not uses internal tidy tool
- handle EXPECT AS's variables correctly
- Complete new statements
- Some completion templates for WHILE, EXCEPT, ...
- Discovering tests is now more error tolerant
- Semantic tokenizing now also detects ERROR and FATAL_ERROR tokens
- some cosmetic corrections in discoring tests
note: RobotFramework 5.0 Alpha 1 has a bug when parsing the EXCEPT AS statement, so the highlighter does not work correctly with this version. This bug is fixed in the higher versions.
- fix correct reverting documents on document close
- correct CHANGELOG
- extend README
- extend highlight of references in fixtures and templates
- correct updating test explorer if files are deleted or reverted
- some cosmetic changes
- hover/goto/references/highlight... differentiate between namespace and keyword in keyword calls like "BuiltIn.Log"
- increase test coverage
- some small fixes in completion, command line parameters and variable references
- correct semantic highlight of variables and settings
- completion window for keywords is now opened only after triggering Ctrl+Space or input of the first character
- implement InlineValuesProvider and EvaluatableExpressionProvider in language server
- implement find references for libraries, resources, variables import
- implement document highlight for variables and keywords
- added support for variables import
- completion
- hover
- goto
- static and dynamic variables
- correct debugger hover on variables and last fail message
- implement find references for variables
- for socket connections now a free port is used
- collect variables and arguments to document symbols
- analysing, highlighting of "Wait Until Keyword Succeeds" and "Repeat Keyword"
- Big speed improvements
- introduce some classes for threadsafe asyncio
- Implement pipe/socket transport for language server
- default is now pipe transport
- Improve starting, stopping, restarting language server client, if ie. python environment changed, arguments changed or server crashed
- some refactoring to speedup loading and parsing documents
- semantic tokens now highlight
- builtin keywords
- run keywords, also nested run keywords
- analysing run keywords now correctly unescape keywords
- remove deadlock in resource loading
- implement find keyword references
- closes #13
- improve parsing and analysing of "run keywords ..."
- closes #14
- remove pydantic dependency
- closes #11
- big refactoring of LSP and DAP types
- fix overlapping semantic tokens
- fix #10
- start implementing more unit tests
- extend hover and goto for variables
- extend sematic higlightning
- builtin library keywords are declared as default_library modifier
- higlight variables in keyword names and keyword calls
- complete embedded arguments
- some correction to load libraries/resources with same name
- fixes #9
- update readme
- Added some more configuration options for log and debug messages when running tests in the debug console
- debug console now shows source and line number from log messages
- use of debugpy from vscode Python extension, no separate installation of debugpy required
- implement test tags in test controller
- implement completion, hover and goto for variables
- update readme
- add run and debug menus to editor title and context menu
- update readme
- semantic tokens now iterate over nodes
- correct loading and closing documents/library/resources
- correct casefold in completion of namespaces
- improve performance
- implement semantic syntax highlightning
- integrate robotframework-tidy for formatting
- improve test run messages
- add "Taks" to section completion
- add colors to test output
- Initial release
Check Keep a Changelog for recommendations on how to structure this file.