Major-mode for Robot Framework files
A Robot Framework major mode for Emacs. Robot Framework is a framework for acceptance testing.
- https://robotframework.org
- https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html
This major mode provides the following:
- Syntax highlighting.
- Indentation.
- Alignment of keyword contents.
- Line continuation in Robot Framework syntax.
- A helper for adding necessary spaces between arguments.
Align the contents of a keyword, test or task with C-c C-a. It changes the following code:
Example Keyword
[Documentation] Documents the keyword
[Arguments] ${arg1} ${arg2}
Log ${arg1} ${arg2}
To:
Example Keyword
[Documentation] Documents the keyword
[Arguments] ${arg1} ${arg2}
Log ${arg1} ${arg2}
Insert a newline, indentation, ellipsis and necessary spaces at current point with C-c C-j. For example (| denotes the cursor):
Another Keyword
[Documentation] A very long text| that describes the keyword.
To:
Another Keyword
[Documentation] A very long text
... |that describes the keyword.
Robot framework separates arguments to keywords with 2 or more spaces. The
C-c C-SPC sets the whitespace amount around point to exactly
robot-mode-argument-separator
. For example (| denotes the cursor):
Example Keyword
[Arguments] ${first}|${second}
To:
Example Keyword
[Arguments] ${first} |${second}
- Currently supports only the Space separated format: https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#space-separated-format
- Does NOT support the Pipe separated format or the reStructuredText format.
Version 0.8.0
- Add
robot-mode-retain-point-on-indent
option to retain point position when indenting. Currently it is disabled by default, but may be enabled in the future. - Prevent indent toggling from interfering with TAB completion when
tab-always-indent
is set to 'complete and the above point retention is used. - Fix several indent toggling bugs:
- Set
electric-indent-inhibit
. - Disable when aligning by using variable
robot-mode-indent-toggle
.
- Set
- Fix syntax highlighting and indentation when a control structure word is the first word in a keyword.
- Fix various other syntax highlighting bugs.
Version 0.7.0
- Add control structure indentation (IF/WHILE/FOR/TRY etc.).
The amount of indentation for test and keyword steps.
The amount of spaces between different arguments to keywords.
If the point
position is after the indentation, retain it when
indenting a line. Otherwise move point
always back-to-indentation
.
Propertize text between START and END.
Indent current line in Robot mode.
Used as indent-line-function
of the mode.
Move the point to the beginning of the current defun.
Defuns are the steps of a keyword, test or task. This is used as
beginning-of-defun-function
of the mode.
Move the point to the end of the current defun.
Defuns are the steps of a keyword, test or task. This is used as
end-of-defun-function
of the mode.
Align the contents of the region between BEG and END.
Align the contents current defun.
Call robot-mode-align
if region is active, otherwise robot-mode-align-defun
.
Split current line at point and continue in the next line. Prefix the continuation with indentation, ellipsis and spacing.
Add exactly robot-mode-argument-separator
spaces to point.