{"id":15144581,"url":"https://github.com/andriyko/sublime-robot-framework-assistant","last_synced_at":"2025-09-29T13:31:16.777Z","repository":{"id":11928929,"uuid":"14497295","full_name":"andriyko/sublime-robot-framework-assistant","owner":"andriyko","description":"Robot Framework plugin for Sublime Text3","archived":true,"fork":false,"pushed_at":"2019-02-25T17:16:42.000Z","size":749,"stargazers_count":109,"open_issues_count":29,"forks_count":43,"subscribers_count":22,"default_branch":"master","last_synced_at":"2024-09-27T10:42:21.115Z","etag":null,"topics":["keyword","python","robot-framework","snippets","sublime-text"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andriyko.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-11-18T15:58:52.000Z","updated_at":"2024-04-22T09:30:24.000Z","dependencies_parsed_at":"2022-09-12T15:23:01.540Z","dependency_job_id":null,"html_url":"https://github.com/andriyko/sublime-robot-framework-assistant","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andriyko%2Fsublime-robot-framework-assistant","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andriyko%2Fsublime-robot-framework-assistant/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andriyko%2Fsublime-robot-framework-assistant/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andriyko%2Fsublime-robot-framework-assistant/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andriyko","download_url":"https://codeload.github.com/andriyko/sublime-robot-framework-assistant/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":234624047,"owners_count":18862273,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["keyword","python","robot-framework","snippets","sublime-text"],"created_at":"2024-09-26T10:42:15.814Z","updated_at":"2025-09-29T13:31:16.082Z","avatar_url":"https://github.com/andriyko.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Build Status](https://travis-ci.org/andriyko/sublime-robot-framework-assistant.svg?branch=master)](https://travis-ci.org/andriyko/sublime-robot-framework-assistant)\n\n# Robot Framework Assistant\nRobot Framework Assistant provides IDE features to edit\n[Robot Framework](http://robotframework.org/) test data in the\n[Sublime Text 3](https://www.sublimetext.com/3).\n\nFrom release 3.0.0 onwards plugin is not anymore compatible with\nSublime Text 2. The releases made before the 3.0.0 will serve\nthe Sublime Text 2 users. The documentation for Sublime Text 2 user\ncan be found from st2-maintenance branch\n[README](https://github.com/andriyko/sublime-robot-framework-assistant/blob/st2-maintenance/README.md)\n\nThis project is currently looking for a maintainer.\n\n# Installation\nThe easiest way to install is to use\n[Package Control](https://packagecontrol.io/) and search for:\n`Robot Framework Assistant`.\n\n## Alternative installation methods\nDownload the plugin as a zip. Open Sublime Text and click\n**| Preferences | Browse Packages |** to open the packages directory.\nThen create a directory named `Robot Framework Assistant` and\nunzip the plugin to the directory.\n\n# Configuration\nBefore yo can start using the Robot Framework Assistant, you must\nat least configure the settings in the\n[User package](http://docs.sublimetext.info/en/latest/customization/settings.html)\n`Robot.sublime-settings` file. To Open the file\nnavigate to: **Preferences | Package settings**\n**| Robot Framework Assistant | Settings - User |**\nThe default settings can be found from the **Preferences | Package settings**\n**| Robot Framework Assistant | Settings - Default |**\n\nThe only mandatory settings which user needs to define are the\n[robot_framework_workspace](https://github.com/andriyko/sublime-robot-framework-assistant#robot_framework_workspace)\nand the\n[path_to_python](https://github.com/andriyko/sublime-robot-framework-assistant#path_to_python).\nThe rest of the parameters can be safely left in their default values,\nwhen trying out the plugin.\n\n## robot_framework_workspace\nBefore the Robot Framework Assistant can provide the keyword and\nvariable completion features, it needs to create a database from the test\nsuite and resource files. The argument defines the root folder where\nscanning of robot data is performed.\n\nMust point to a folder and pointing to a file is not allowed. When\nthe command `Robot Framework: Create database` is executed,\nthe scanning of Robot Framework test data is performed based\non this setting.\n\nIn windows ow write double backslash to write literal backslash.\n\n## robot_framework_keyword_argument_format\nDefines how keyword argument are formatted when keyword\ncompletion is used. When set to false, each argument is\nformatted to individual lines. If set to true keyword\nand arguments are returned in single line.\n\n## robot_framework_extension\nFile extension defines which types of files the Robot Framework\nAssistant plugin will search from the folder defined\nin the robot_framework_workspace option.\n\nThis setting affects the plugin commands and features but the theme\ndefinition in this plugin is not affected by this option.\n\nIf there library or variable file imports in the Robot Framework data,\nthose imports are automatically parser and included in the scanning.\n\n## path_to_python\nIn order the creating the database of keywords and variables to\nwork, path to Python binary must be defined. It must be the same\nPython binary where the Robot Framework is installed.\n\nIn Linux like environments this could be like: /usr/bin/python\nand in Windows this could be like: C:\\\\Python27\\\\python.exe\n\n## robot_framework_module_search_path\nModule search path defines a list of paths where the Robot Framework\nlibraries are searched. Example if you have imported\na library with the library name, then module search path must\ncontain the folder where the library can be located.\n\nThe Robot Framework Assistant uses the Robot Framework API to parse\nthe test data and libraries. All changes, which are not system\nwide, to locate the libraries, must also be added in the\nmodule search path in the Robot Framework Assistant\n\nMore details how libraries is searched in Robot Framework can be\nfound from be the\n[Robot Framework User guide](http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#module-search-path)\n\n## robot_framework_automatic_database_table\nThe robot_framework_automatic_database_table setting controls the\ninternal database updating. If the set to true, the internal\ndatabase tables are created after a Robot Framework test data\nfile is saved. If set to false, the internal database tables are\nonly updated when the `Create Database`, `Create Database Tables` or\n`Update Internal Database For Active Tab` commands are run.\n\nThe setting only controls the Robot Framework test data. If a\nlibraries or a variable files are updated, then `Create Database`\nor `Create Database Tables` commands must be run to update the\ninternal database.\n\n## robot_framework_library_in_xml\nWhen a library is not available during parsing time,\nexample if library is imported with Remote library interface or\nit is not written in Python like the\n[SwingLibrary](https://github.com/robotframework/SwingLibrary)\nThen this setting can be used to import libraries in\n[libdoc](http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#library-documentation-tool-libdoc)\nXML format.\n\nLibraries found from the this path are globally available, like the\nBuiltIn library. Example the keyword completion will work although\nthe library may not imported for that particular resource or test suite.\n\n## robot_framework_builtin_variables\nRobot Framework comes by default some predefined and builtin variables.\nThese variables names may change between different Robot Framework\nversions. Use this setting to define a list of the Robot Framework BuiltIn\nvariables. The easiest way to see the list of the variables is to run\nRobot Framework with following test case:\n\n| *** Test Cases *** |   |\n| --- |--- |\n| Log All BuiltIn Vars |\n|   | Log Variables |\n\nNote: At least on Robot Framework 2.9.2 version, the following command\ndid not list the empty variables, like ${EMPTY}.\n\n## robot_framework_database_path\nBy default internal database is created in plugin installation\ndirectory, in database folder. Sometimes it could be useful to\nchange the default database location.\n\nExample if the robot_framework_workspace is defined in the\nSublime workspace file and user wants to change between\ndifferent projects. Then it is useful to define\nrobot_framework_database_path setting also be project specific.\nWhen the internal database is project specific, user does not\nrecreate the database when the project is changed.\n\nThe robot_framework_database_path must be a path to a folder.\nIf the setting is not path to a folder, then the database\nis created in the plugin installation directory.\n\n## robot_framework_log_commands\nSetting controls will the `Robot Framework: Command Logging`\ncommand enable or disable the Sublime Text log_commands API call.\nIf the robot_framework_log_commands setting evaluates as Python\nTrue, then log_commands API call is enabled. If setting\nevaluates as Python False, log_commands API call is disabled.\n\nIf log_commands API call is enabled. all commands run from key\nbindings and the menu will be logged to the console.\n\nTo enabled the logging, set the `robot_framework_log_commands` to value\n`true`. Then run the `Robot Framework: Command Logging` command\nfrom command palette.\n\n## robot_framework_keyword_prefixes\nPrefixes that are ignored in `jump to keyword` command.\n\nWhen writing testcases in Gherkin keywords have prefixes like `given`, `when` and `then`.\nSuch prefixes are testcase specific and must be ignored when looking up a keyword.\n\nConfiguration for typical Gherkin stories:\n\"robot_framework_keyword_prefixes\" : [\"Given\",\"When\",\"Then\",\"And\",\"But\"]\n\n# Syntax definitions\nBy default this plugin will be used with files which extension is\n`.robot` and plugin will use four spaces as cell separator. The\nsettings can be changed by user, but consult the\n[Sublime unofficial documentation](http://docs.sublimetext.info/en/latest/customization/customization.html)\nwhere the user settings should be saved.\n\n## Change the file extension\nThe file extension is defined in the\n`Robot.tmLanguage` file. To change file extension,\nnavigate to the\n[User package](http://docs.sublimetext.info/en/latest/basic_concepts.html#the-packages-directory)\nfolder and copy the `Robot.tmLanguage` file in to the\nuser settings folder.\n\nIn the `Robot.tmLanguage` file in user settings,  look for the lines containing:\n```xml\n\u003ckey\u003efileTypes\u003c/key\u003e\n    \u003carray\u003e\n        \u003cstring\u003erobot\u003c/string\u003e\n    \u003c/array\u003e\n```\nThe `\u003cstring\u003e` element contains the file type definition.\n\n## Change the cell separator\nThe cell separator is defined in the\n`Robot.tmPreferences` file. To change the cell separator,\nnavigate to the\n[User package](http://docs.sublimetext.info/en/latest/basic_concepts.html#the-packages-directory)\nfolder and open the `Robot.tmPreferences` file.\n\nLook for the line containing `\u003cstring\u003e\u003c![CDATA[    ]]\u003e\u003c/string\u003e` XML tag. There are four\nspaces inside of the `[    ]` characters and those four spaces defines the cell separator which is\nuser by the plugin. The cell separator is example used by the for loop\n[snippets](http://docs.sublimetext.info/en/latest/extensibility/snippets.html?highlight=snippets)\nto align and display snipped correctly.\n\n# Hotkeys\n* Pressing `Alt + Enter` or `Alt + Click` with mouse, on top of the keyword\nwill go to the keyword source. Source of the keyword can locate in\nRobot Framework test data or in a Python library. Go to does not work\non libraries written in other programming languages.\n* Pressing `Alt + Enter` or `Alt + Click` with mouse, on top of the resource\nor library import will open the imported resource or library file.\n* Pressing `Ctrl + Alt + Enter`or `Ctrl + Alt + Clicl` with mouse\nwill display the keyword documentation.\n* Pressing `Ctrl + /` or `Ctrl + Shift + /` will togle comment on and off\n* Pressing `Ctrl + Alt + a` will run the `Robot Framework: Create Database` command\n* Pressing `Ctrl + Alt + s` will run the `Robot Framework: Create Database Tables` command\n* Pressing `Ctrl + Alt + i` will run the `Robot Framework: Update Internal Database For Active Tab` command\n* Pressing `Ctrl + Alt + r` will show available library, resource or variables imports in a popup menu. The popup\nmenu is only displayed if cursor is in settings table and line contains `Libraries`, `Resource` or `Variables` setting.\n\nThe usage of the `Ctrl + Alt + a/s/i` commands is explained in the\n[Internal database for keywords and variables](https://github.com/andriyko/sublime-robot-framework-assistant/wiki/Internal-database-for-keywords-and-variables) wiki page\n\n# Snippets\n[Snippets](http://docs.sublimetext.info/en/latest/extensibility/snippets.html?highlight=snippets)\nare a Sublime Text feature to provide commonly used text templates\nand in this plugin, snippets offers quick access to\nthe commonly used settings in the Robot Framework data. To gain access\nto the snippets write the required character combination. If the snippet\nis not displayed press the `Tab` key to see the snippets completion list.\nThe snippets can be accessed with following key combinations:\n* Write `:f` to access Robot Framework for loops. There currently\nare available the following snippets:\n[normal](http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#normal-for-loop),\n[enumerate](http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#for-in-enumerate-loop),\n[range](http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#for-in-range-loop)\nand [zip](http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#for-in-zip-loop)\nloops types.\n* Write `*k` to access `*** Keywords ***` table snippet.\n* Write `*s` to acess `*** Settings ***` table and it settings. There\ncurrently are available the following snippets:\n`Default Tags`, `Documentation`, `Library`, `Resource`,\n`*** Settings ***`, `Test Setup`, `Test Teardown`, `Test Template`\nand `Test Timeout`.\n* Write `*t` to access `*** Test Cases ***` table snippet.\n* Write `:`to access\n[Keyword](http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#id331)\nand\n[Test Case](http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#test-case-table)\nsettings. There currently are available the following snippets::\n`[Arguments]`, `[Documentation]`, `[Return]`, `[Setup]`, `[Tags]`, `[Template]`, `[Teardown]`\nand `[Timeout]`.\n* Write `*v` to access `*** Variables ***` snippet.\n\nThe different for loop snippets uses the\n[fields](http://docs.sublimetext.info/en/latest/extensibility/snippets.html?highlight=snippets#fields)\nfeature from the snippets. After completing the for loop snippry, the different\nfor loops fields can be accessed by pressing the `tab` key.\n\nPlease note that plugin does not prevent the user to place snippets\nin invalid places in the test data.\nPlease refer to the Robot Framework\n[User Guide](http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html)\nto locate the correct usage of the different available snippets.\n\n# Go To Keyword\nAlternatively, use Sublime Text's\n[Go To Symbol](http://docs.sublimetext.info/en/latest/file_management/file_management.html#fm-goto-symbol)\nto go to the source of a keyword or a variable.\n\nPlease note that `Go To Symbol` only works for keywords and variables\nwithin the same file. It is not possible to use `Go To Symbol` to\njump a keyword or a variable in other resource files or in libraries.\n\n# Creating a database\nOnce the plugin configuration is done, the plugin needs to scan the\ntest data to create a internal database to the package directory.\nThe database will contain table for each test case, resource and\nlibrary. Once the tables has been created, plugin will create a\nindex for each test case, resource and library. Index will contain\nall keywords and variables, what the test case or resource has imported\nin the test data. Indexing allows plugin to provide completion\nto only those keyword or variables which has been imported for\nthe currently opened test or resource file.\n\nThe plugin will automatically update the pointer to the index in the\ndatabase, when user will change between different tabs in the Sublime.\n\nMore detailed description how to update the internal database can\nbe found from the\n[Internal database for keywords and variables](https://github.com/andriyko/sublime-robot-framework-assistant/wiki/Internal-database-for-keywords-and-variables)\nwiki page.\n\n## Error investigation for database creation\nWhen creating the database, plugin will write a log file\nto the package installation directory: `database/scan_index.log`\nfile. If there are errors when the database is created,\nplease check the log and correct possible errors.\n\n# Project specific settings\nIt is also possible to use project specific setting when configuring\nthe Robot Framework Assistant.\n\nOpen the project setting and add `robot_framework_assistant` dictionary\nto the settings file:\n```\n\"robot_framework_assistant\":\n    {\n\n    }\n\n```\nExample if configuring project specific workspace and database paths,\nthe `robot_framework_assistant` dictionary should look like this:\n\n```\n\"robot_framework_assistant\":\n    {\n        \"robot_framework_workspace\": \"/path/to/folder/containing/robot/data\",\n        \"robot_framework_database_path\": \"/path/to/project/database\"\n    }\n\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandriyko%2Fsublime-robot-framework-assistant","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandriyko%2Fsublime-robot-framework-assistant","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandriyko%2Fsublime-robot-framework-assistant/lists"}