Skip to content

0.6.0

Choose a tag to compare

@github-actions github-actions released this 08 Feb 06:06
· 262 commits to main since this release

Added

  • Update gutter icon based on robot execution results
  • Mark failed keyword calls in editor like for other failed tests in any test framework
  • Added a new inspection to detect arguments that looks like they should be variables instead (currently only global standard variable) and provide a quickfix
    to change them
  • Added custom CharFilter to allow for spaces being typed while code completion is opened without closing it
  • Added support for Builtin keywords of Robot Framework like Run Keyword If, Run Keywords, etc. Highlighting the parameters as keywords or python expressions
    accordingly. Additionally, providing code completion for those parameters
  • Added new inspection to convert deprecated keyword calls into native Robot syntax (i.e. Run Keyword If into if statement)
  • Added new inspection to detect duplicated parameter definitions in the same keyword call

Changed

  • Optimized lexer and parser
    • added/enhanced support for inline if statements
    • added support for inline if statements with variable assignment
    • handle if conditions as python expressions (mark them as such with new syntax highlighting)
    • general optimizations to improve lexing performance
  • Optimized lookup of imported files by filtering for concrete import types and resolve only those
  • Cache Robot Framework's builtin python class instead of looking it up every time
  • Provide custom Robot keyword names in code completion as they are defined without removing underscores with spaces
  • Allow dots in keyword names as part of the name. According to that, changed the resolving of keywords with a potential library name by checking for
    the longest matching name first
  • Changed the deprecation check into an inspection to be able to suppress it with comment suppression
  • Changed folding logic to keep important editor elements visible when folding multi-line statements
  • Optimized code completion for reserved keywords to provide a more context-sensitive list of suggestions
  • Optimized code completion to show results faster by defining small groups of sources to load and add as completion results step by step rather collecting all first and then add as results
  • Reworked code completion for variables:
    • Variables are represented now by their robot variable type prefix ($, @, & or %) followed by the variable name
    • The variables with their braces (something like ${variable}) are added only when the cursor isn't placed in a variable itself, otherwise just the name of the variable without the braces and
      variable type are added. This change explicitly provides a predictable behavior for code completions, especially with TAB insertion (replacing the element the cursor is placed at)
    • When typing the variable type prefix ($, @, & or %) the code completion shows only variables of this type
  • Optimized performance for find usages, especially when looking for keyword usages in large projects

Fixed

  • Fixed issues with selecting single test cases to execute them but not providing the option to do so rather failing with an exception, not providing the run
    option
  • Fixed detection of continuation marker within lexing
  • Fixed issues with test cases/tasks having a DOT in their name
  • Fixed code completion issue with prefixed / or * keyword calls when code completion suggestion differs from defined keyword even though the defined keyword
    represents a resolvable name
  • Do not complain about misplaced normal arguments after a detected parameter but highlighted as normal argument
  • Extended multiline handling to every other element not yet supported like for loops
  • Fixed issue leading to deprecation marking not shown to keyword calls referencing a python function with deprecation prefix *DEPRECATED in documentation
  • Detection of continuations with empty line
  • Fixed variable lookup with variables names containing non-latin but still word characters (characters with diacritics or Greek, Japanese, Cyrillic characters, etc.)
  • Stabilized process start/cancel workflows to execute tests/tasks