kopoli / robot-mode

Emacs major mode for editing Robot Framework files.
GNU General Public License v3.0
8 stars 3 forks source link

Emacs Logo

robot-mode.el

Major-mode for Robot Framework files


License GPLv3 MELPA MELPA Stable

Description

A Robot Framework major mode for Emacs. Robot Framework is a framework for acceptance testing.

This major mode provides the following:

Alignment of keyword contents

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}

Line continuation

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.

Add spacing for an argument

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}

Limitations

Notable changes

Version 0.8.0

Version 0.7.0

Customization Documentation

robot-mode-basic-offset

The amount of indentation for test and keyword steps.

robot-mode-argument-separator

The amount of spaces between different arguments to keywords.

robot-mode-retain-point-on-indent

If the point position is after the indentation, retain it when indenting a line. Otherwise move point always back-to-indentation.

Function and Macro Documentation

(robot-mode-syntax-propertize START END)

Propertize text between START and END.

(robot-mode-indent-line)

Indent current line in Robot mode. Used as indent-line-function of the mode.

(robot-mode-beginning-of-defun)

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.

(robot-mode-end-of-defun)

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.

(robot-mode-align BEG END)

Align the contents of the region between BEG and END.

(robot-mode-align-defun)

Align the contents current defun.

(robot-mode-align-region-or-defun)

Call robot-mode-align if region is active, otherwise robot-mode-align-defun.

(robot-mode-split-continuation)

Split current line at point and continue in the next line. Prefix the continuation with indentation, ellipsis and spacing.

(robot-mode-add-argument)

Add exactly robot-mode-argument-separator spaces to point.


Markdown README file generated by make-readme-markdown.el