Code Monkey home page Code Monkey logo

commands's Introduction

commands

Build Status Coverage Status Go Report Card GoDoc

This package contains commands made accessible to frontends and plugins. They come in three flavours: ApplicationCommands, WindowCommands, and TextCommands.

Goals

The goal for release 1.0 is to implement all of the commands exposed by Sublime Text 3. See the commands label for outstanding commands to be implemented.

Brief Overview of Commands

A command is a type implementing one of the command interfaces.

type (
    DoSomething struct {
        backend.DefaultCommand
    }
)

Each command has a Run method which is executed when the command is invoked.

func (c *DoSomething) Run(v *backend.View, e *backend.Edit) error {
    // Do something!
}

Commands need to be registered with the backend via the init function before it can be executed by plugins.

func init() {
    register([]backend.Command{
        &DoSomething{},
    })
}

Implementing Commands

If you are interested in implementing a command, see the Implementing commands wiki page.

Other References

commands's People

Contributors

ch1bo avatar erbridge avatar pongad avatar quarnster avatar thehamsterjam avatar thewhitetulip avatar zoli avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

commands's Issues

Command: next_field

Issue by haddel
Tuesday May 05, 2015 at 19:29 GMT
Originally opened as limetext/backend#8


Reopening old Issue in relevant Repo
limetext/lime#206

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/37069663-command-next_field?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github).

Command: new_snippet

Issue by haddel
Tuesday May 05, 2015 at 19:36 GMT
Originally opened as limetext/backend#23


Reopening old Issue in relevant Repo
limetext/lime#79

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/37069677-command-new_snippet?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github).

unfold

reopening limetext/lime#68

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/33147118-unfold?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github).

Command: set_layout

Issue by haddel
Tuesday May 05, 2015 at 19:45 GMT
Originally opened as limetext/backend#40


Reopening old Issue in relevant Repo
limetext/lime#52

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/37069696-command-set_layout?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github).

Command: prev_field

Issue by haddel
Tuesday May 05, 2015 at 19:29 GMT
Originally opened as limetext/backend#7


Reopening old Issue in relevant Repo
limetext/lime#207

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/37069662-command-prev_field?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github).

Command: focus_neighbouring_group

Issue by haddel
Tuesday May 05, 2015 at 19:44 GMT
Originally opened as limetext/backend#38


Reopening old Issue in relevant Repo
limetext/lime#55

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/37069694-command-focus_neighbouring_group?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github).

Command: new_plugin

Issue by haddel
Tuesday May 05, 2015 at 19:36 GMT
Originally opened as limetext/backend#24


Reopening old Issue in relevant Repo
limetext/lime#78

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/37069679-command-new_plugin?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github).

Command: reindent

Issue by haddel
Tuesday May 05, 2015 at 19:41 GMT
Originally opened as limetext/backend#33


Reopening old Issue in relevant Repo
limetext/lime#63

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/37069683-command-reindent?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github).

Command: toggle_record_macro

Issue by haddel
Tuesday May 05, 2015 at 19:46 GMT
Originally opened as limetext/backend#44


Reopening old Issue in relevant Repo
limetext/lime#46

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/37069699-command-toggle_record_macro?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github).

Command: wrap_block

Issue by haddel
Tuesday May 05, 2015 at 19:46 GMT
Originally opened as limetext/backend#43


Reopening old Issue in relevant Repo
limetext/lime#48

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/37069698-command-wrap_block?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github).

Basic tests fail for indent

[08/07/16 20:29:40] [EROR] Couldn't load file open_file_test.go: open open_file_test.go: no such file or directory

[08/07/16 20:29:40] [EROR] Paniced while running text command indent &{{}}: value of translate_tabs_to_spaces cannot be represented as an bool: false

[08/07/16 20:29:40] [EROR] Paniced while running text command indent &{{}}: value of tab_size cannot be represented as an int:

Command: unfold_all

Issue by haddel
Tuesday May 05, 2015 at 19:40 GMT
Originally opened as limetext/backend#30


Reopening old Issue in relevant Repo
limetext/lime#69

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/37069673-command-unfold_all?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github).

Command: swap_with_mark

Issue by haddel
Tuesday May 05, 2015 at 19:47 GMT
Originally opened as limetext/backend#46


Reopening old Issue in relevant Repo
limetext/lime#44

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/37069803-command-swap_with_mark?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github).

Command: fold

Issue by haddel
Tuesday May 05, 2015 at 19:41 GMT
Originally opened as limetext/backend#32


Reopening old Issue in relevant Repo
limetext/lime#66

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/37069681-command-fold?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github).

Command: open_url

Issue by haddel
Tuesday May 05, 2015 at 19:34 GMT
Originally opened as limetext/backend#19


Reopening old Issue in relevant Repo
limetext/lime#83

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/37069669-command-open_url?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github).

Command: paste_and_indent

Issue by haddel
Tuesday May 05, 2015 at 19:43 GMT
Originally opened as limetext/backend#37


Reopening old Issue in relevant Repo
limetext/lime#58

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/37069693-command-paste_and_indent?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github).

Command: open_dir

Issue by haddel
Tuesday May 05, 2015 at 19:34 GMT
Originally opened as limetext/backend#17


Reopening old Issue in relevant Repo
limetext/lime#85

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/37069668-command-open_dir?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github).

Command: slurp_find_string

Issue by haddel
Tuesday May 05, 2015 at 19:47 GMT
Originally opened as limetext/backend#47


Reopening old Issue in relevant Repo
limetext/lime#43

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/37069805-command-slurp_find_string?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github).

Command: show_panel

Issue by haddel
Tuesday May 05, 2015 at 19:48 GMT
Originally opened as limetext/backend#48


Reopening old Issue in relevant Repo
limetext/lime#42

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/37069806-command-show_panel?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github).

CloseWindow vs CloseWindowApp

Technically both these commands are different, but they do exactly the same thing, so why do we have two separate commands?

// Run executes the CloseWindowApp command.
func (c *CloseWindowApp) Run() error {
    ed := backend.GetEditor()
    ed.ActiveWindow().Close()
    return nil
}

// Run executes the CloseWindow command.
func (c *CloseWindow) Run(w *backend.Window) error {
    ed := backend.GetEditor()
    ed.ActiveWindow().Close()
    return nil
}

List of commands to be implemented

  • build
    Runs a build system.

    -variant [String]: Optional. The name of the variant to be run.

  • set_build_system
    Changes the current build system.

    -file [String]: Path to the build system. If empty, Sublime Text tries
    to automatically find an appropriate build systems from specified
    selectors.
    -index [Int]: Used in the tools | Build System menu but otherwise
    probably not useful.

  • new_build_system
    Creates a new buffer and inserts a build system template.

  • toggle_save_all_on_build
    Toggles whether all open files should be saved before starting the build.

  • run_macro_file
    Runs a .sublime-macro file.

    -file [String]: Relative path to the macro file.

  • insert_snippet
    Inserts a snippet from a string or .sublime-snippet file.

    -contents [String]: Snippet as a string to be inserted. Remember that
    backslashes \ have to be escaped, like in every other JSON string.
    -name [String]: Relative :ref:path <cmd-about-paths> to the
    .sublime-snippet file to be inserted.

  • insert
    Inserts a string.

    -characters [String]: String to be inserted.

  • append
    Inserts a string at the end of the view.

    -characters [String]: String to be inserted.
    -force [Bool]:
    -scroll_to_end [Bool]:

  • move
    Advances the caret by predefined units.

    -by [Enum]: Values: characters, words, word_ends, subwords,
    subword_ends, lines, pages, stops.
    -forward [Bool]: Whether to advance or reverse in the buffer.
    -word_begin [Bool]
    -empty_line [Bool]
    -punct_begin [Bool]
    -separators [Bool]
    -extend [Bool]: Whether to extend the selection. Defaults to false.

  • move_to
    Advances the caret to predefined locations.

    -to [Enum]: Values: bol, eol, bof, eof, brackets.
    -extend [Bool]: Whether to extend the selection. Defaults to false.

  • open_file
    Opens the specified file.
    Will dynamically open resource files
    from :ref:sublime-package archives <.sublime-package> as read-only
    if the specified override file does not exist.

    -file [String]: Absolute or relative :ref:path <cmd-about-paths>
    to the file to be opened. Relative paths will originate from the recently

    Expands snippet-like variables, such as $platform and $packages.

    -contents [String]: This string will be written to the new buffer if
    the file does not exist. accessed directory (e.g. the directory of the currently opened file).

    .. XXX more variables?

  • open_dir
    Opens the specified directory with the default file manager.

    -dir [String]: The directory to open.

  • open_file_settings
    Opens the syntax-specific user settings file for the current syntax.

  • new_window
    Opens a new window.

  • close_window
    Closes the active window.

  • switch_file
    Switches between two files with the same name and different extensions.

    -extensions [String]: Extensions (without leading dot) for which
    switching will be enabled.

  • close
    Closes the active view.

  • close_file
    Closes the active view and, under certain circumsances, the whole
    application.
    XXX Sounds kinda wrong.

  • exit
    Exits the whole application with all open windows.

  • reopen_last_file
    Reopens the last closed file.

  • save
    Saves the active file.

    -encoding [String]: The file encoding to save as.

  • save_all
    Saves all open files.

  • prompt_save_as
    Prompts for a new file name and saves the active file.

  • save_project_as
    Prompts for a new file name and saves the current project.

  • prompt_select_project
    Opens a popup with recently accessed projects where you can fuzzy-search.

  • prompt_open_project
    Prompts for a project file to open as a project.

  • close_project
    Closes the current project.

  • prompt_add_folder
    Prompts for a folder to add to the current project.

  • close_folder_list
    Removes all folders from the current project.

  • refresh_folder_list
    Reloads all folders in the current project and updates the side bar.

  • toggle_side_bar
    Shows or hides the sidebar.

  • toggle_show_open_files
    Shows ot hides the open files in the sidebar.

  • toggle_status_bar
    Shows or hides the status bar.

  • toggle_full_screen
    Toggles full screen mode on or off.

  • toggle_distraction_free
    Toggles distraction free mode on or off.

  • toggle_tabs
    Shows or hides the tab bar.

  • toggle_minimap
    Shows or hides the minimap.

  • left_delete
    Deletes the character right before the caret.

  • right_delete
    Deletes the character right after the caret.

  • undo
    Undoes the latest action.

  • redo
    Reapplies the latest undone action.

  • redo_or_repeat
    Performs the latest action again.

.. XXX does this mean selections?

  • soft_undo
    Undoes each action stepping through granular edits.

  • soft_redo
    Redoes each action stepping through granular edits.

  • cut
    Removes the selected text and sends it to the system clipboard. Put
    differently, it cuts.

  • copy
    Sends the selected text to to the system clipboard.

  • paste
    Inserts the clipboard contents after the caret.

    -clipboard [String]: May be selection. XXX what other values are
    allowed?

  • paste_and_indent
    Inserts the clipboard contents after the caret and indents contextually.

  • select_lines
    Adds a line to the current selection.

    -forward [Bool]: Whether to add the next or previous line. Defaults to
    true.

  • scroll_lines
    Scrolls lines in the view.

    -amount [Float]: Positive values scroll lines down and negative values
    scroll lines up.

  • prev_view
    Switches to the previous view.

  • next_view
    Switches to the next view.

  • next_view_in_stack
    Switches to the most recently active view.

  • prev_view_in_stack
    Switches to the view that was active before the most recently active view.

.. XXX I don't think this is very clear or even true.

  • select_all
    Select the view's content.

  • split_selection_into_lines
    Splits the selection into multiple selections, one on each line.

  • single_selection
    Collapses multiple selections into a single selection.

  • clear_fields
    Breaks out of the active snippet field cycle.

  • hide_panel
    Hides the active panel.

    -cancel [Bool]: Notifies the panel to restore the selection to what it
    was when the panel was opened. (Only incremental find panel.)

  • hide_overlay
    Hides the active overlay. Show the overlay using the show_overlay command.

  • hide_auto_complete
    Hides the auto complete list.

  • insert_best_completion
    | Inserts the best completion that can be inferred from the current context.
    | XXX Probably useless. XXX

    -default [String]: String to insert failing a best completion.

  • replace_completion_with_next_completion
    XXX Useless for users. XXX

  • reindent
    Corrects indentation of the selection with regular expressions set in the
    syntax's preferences. The base indentation will be that of the line before
    the first selected line. Sometimes does not work as expected.

  • indent
    Increments indentation of selection.

  • unindent
    Unindents selection.

  • detect_indentation
    Guesses the indentation from the current file.

  • next_field
    Advances the caret to the text snippet field in the current snippet field
    cycle.

  • prev_field
    Moves the caret to the previous snippet field in the current snippet field
    cycle.

  • commit_completion
    | Inserts into the buffer the item that's currently selected in the auto
    complete list.
    | XXX Probably not useful for users. XXX

  • toggle_overwrite
    Toggles overwriting on or off.

  • expand_selection
    Extends the selection up to predefined limits.

    -to [Enum]: Values: bol, hardbol, eol, hardeol, bof, eof,
    brackets, line, tag, scope, indentation.

  • close_tag
    Surrounds the current inner text with the appropiate tags.

  • toggle_record_macro
    Starts or stops the macro recorder.

  • run_macro
    Runs the macro stored in the macro buffer.

  • save_macro
    Prompts for a file path to save the macro in the macro buffer to.

  • show_overlay
    Shows the requested overlay. Use the hide_overlay command to hide it.

    -overlay [Enum]:
    The type of overlay to show. Possible values:

    - *goto*: Show the :ref:`Goto Anything <fm-goto-anything>` overlay.
    - *command_palette*: Show the :doc:`../extensibility/command_palette`.
    

    -show_files [Bool]: If using the goto overlay, start by displaying
    files rather than an empty widget.
    -text [String]: The initial contents to put in the overlay.

  • show_panel
    Shows a panel.

    -panel [Enum]: Values: incremental_find, find, replace,
    find_in_files, console or output.<panel_name>.
    -reverse [Bool]: Whether to search backwards in the buffer.
    -toggle [Bool]: Whether to hide the panel if it's already visible.

  • find_next
    Finds the next occurrence of the current search term.

  • find_prev
    Finds the previous occurrence of the current search term.

  • find_under_expand
    Adds a new selection based on the current selection or expands the
    selection to the current word.

  • find_under_expand_skip
    Adds a new selection based on the current selection or expands the
    selection to the current word while removing the current selection.

  • find_under
    Finds the next occurrence of the current selection or the current word.

  • find_under_prev
    Finds the previous occurrence of the current selection or the current word.

  • find_all_under
    Finds all occurrences of the current selection or the current word.

  • slurp_find_string
    Copies the current selection or word into the "find" field of the find
    panel.

  • slurp_replace_string
    Copies the current selection or word into the "replace" field of the find
    and replace panel.

  • next_result
    Advance to the next captured result.

  • prev_result
    Move to the previous captured result.

  • toggle_setting
    Toggles the value of a boolean setting. This value is view-specific.

    -setting [String]: The name of the setting to be toggled.

  • set_setting
    Set the value of a setting. This value is view-specific.

    -setting [String]: The name of the setting to changed.
    -value [*]: The value to set to.

  • set_line_ending
    Changes the line endings of the current file.

    -type [Enum]: windows, unix, cr

  • next_misspelling
    Advance to the next misspelling

  • prev_misspelling
    Move to the previous misspelling.

  • swap_line_down
    Swaps the current line with the line below.

  • swap_line_up
    Swaps the current line with the line above.

  • toggle_comment
    Comments or uncomments the active lines, if available.

    -block [Bool]: Whether to insert a block comment.

  • join_lines
    Joins the current line with the next one.

  • duplicate_line
    Duplicates the current line.

  • auto_complete
    Opens the auto complete list.

  • replace_completion_with_auto_complete
    XXX Useless for users. XXX

  • show_scope_name
    Shows the name for the caret's scope in the status bar.

.. _cmd-exec:

  • exec
    Runs an external process asynchronously. On Windows, GUIs are supressed.

    exec is the default command used by build systems, thus it provides
    similar functionality. However, a few options in build systems are taken
    care of by Sublime Text internally so they list below only contains
    parameters accepted by this command.

    -cmd [[String]]
    -file_regex [String]
    -line_regex [String]
    -working_dir [String]
    -encoding [String]
    -env [{String: String}]
    -path [String]
    -shell [Bool]
    -kill [Bool]: If True will simply terminate the current build
    process. This is invoked via Build: Cancel command from the
    :ref:Command Palette <ext-command-palette-overview>.
    -quiet [Bool]: If True information less running about prints the
    command.

    .. seealso::

    :ref:`Arbitrary Options for build systems <build-arbitrary-options>`
        Detailed documentation on all other available options.
    
  • transpose
    Makes selections or characters swap places.

    | With selection: The contents of the selected regions are circulated.
    | Without selection: Swaps adjacent characters and moves the caret forward by
    1.

  • sort_lines
    Sorts lines.

    -case_sensitive [Bool]: Whether the sort should be case sensitive.

  • sort_selection
    Sorts lines in selection.

    -case_sensitive [Bool]: Whether the sort should be case sensitive.

  • permute_lines
    XXX

    -operation [Enum]: reverse, unique, shuffle ...?

  • permute_selection
    XXX

    -operation [Enum]: reverse, unique, shuffle ...?

  • set_layout
    Changes the group layout of the current window. This command uses the same
    pattern as :py:meth:Window.set_layout, see there for a list and
    explanation of parameters.

  • focus_group
    Gives focus to the top-most file in the specified group.

    -group [Int]: The group index to focus. This is determined by the order
    of cells items from the current layout (see :py:meth:Window.set_layout).

  • move_to_group
    Moves the current file to the specified group.

    -group [Int]: The group index to focus. See focus_group command.

  • select_by_index
    Focuses a certain tab in the current group.

    -index [Int]: The tab index to focus.

  • next_bookmark
    Select the next bookmarked region.

  • prev_bookmark
    Select the previous bookmarked region.

  • toggle_bookmark
    Sets or unsets a bookmark for the active region(s). (Bookmarks can be
    accessed via the regions API using "bookmarks" as the key.)

  • select_bookmark
    Selects a bookmarked region in the current file.

    -index [Int]

  • clear_bookmarks
    Removes all bookmarks.

  • select_all_bookmarks
    Selects all bookmarked regions.

  • wrap_lines
    Wraps lines. By default, it wraps lines at the first ruler's column.

    -width [Int]: Specifies the column at which lines should be wrapped.

  • upper_case
    Makes the selection upper case.

  • lower_case
    Makes the selection lower case.

  • title_case
    Capitalizes the selection's first character and turns the rest into lower
    case.

  • swap_case
    Swaps the case of each character in the selection.

  • set_mark
    Marks the position of each caret in the current file. If any marks have
    already been set in that file, they are removed.

  • select_to_mark
    Selects the text between the current position of each one of the current
    carets and the marked position. Each caret is matched with each mark
    in order of occurrence, and is moved to the beginning of its selection.

    If any number of selections overlap, they are joined and, of all the
    carets corresponding to each one of the joined selections, only the one
    occurring first in the file is preserved.

    If the number of current carets is less or equal to the number of marks,
    the remaining marks in order are ignored. Conversely, if currently there
    are more carets than marks, the first relevant selections are produced.
    Of all extra marks, those contained in the selections are removed, and
    the rest of them are left where they are, without triggering a selection
    from their position.

  • delete_to_mark
    Deletes the text that select_to_mark would select.

  • swap_with_mark
    Marks all the current carets' positions, removes those carets, and sets
    new carets at the previously marked positions, if any.

  • clear_bookmarks
    If no name argument, or the name "bookmarks" is specified, it
    removes all bookmarks set in the current file, but not the marks. If
    the name "mark" is specified as an argument, it removes all marks set
    in the current file, but not the bookmarks.

    -name [String]: e.g. "mark", "bookmarks".

  • yank
    XXX

  • show_at_center
    Scrolls the view to show the selected line in the middle of the view and
    adjusts the horizontal scrolling if necessary.

  • increase_font_size
    Increases the font size.

  • decrease_font_size
    Decreases the font size.

  • reset_font_size
    Resets the font size to the default

    Note: This essentially removes the entry from your User settings, there
    might be other places where this has been "changed".

  • fold
    Folds the current selection and displays โ€ฆ instead. Unfold arrows are
    added to the lines where a region has been folded.

  • unfold
    Unfolds all folded regions in the selection or the current line if there is
    none.

  • fold_by_level
    Scans the whole file and folds everything with an indentation level of
    level or higher. This does not unfold already folded regions if you first
    fold by level 2 and then by 3, for example. Sections with cursors are not
    folded.

    -level [Int]: The level of indentation that should be folded. 0 is
    equivalent to running unfold_all.

  • fold_tag_attributes
    Folds all tag attributes in XML files, only leaving the tag's name and the
    closing bracket visible.

  • unfold_all
    Unfolds all folded regions.

  • context_menu
    Shows the context menu.

  • open_recent_file
    Opens a recently closed file.

    -index [Int]

  • open_recent_folder
    Opens a recently closed folder.

    -index [Int]

  • open_recent_project
    Opens a recently closed project.

    -index [Int]

  • clear_recent_files
    Deletes records of recently accessed files and folders.

  • clear_recent_projects
    Deletes records of recently accessed projects.

  • reopen
    Reopens the current file.

    -encoding [String]: The file encoding the file should be reopened with.

  • clone_file
    Clones the current view into the same tab group, both sharing the same
    buffer. That means you can drag one tab to another group and every update to
    one view will be visible in the other one too.

  • revert
    Undoes all unsaved changes to the file.

  • expand_tabs
    XXX

    -set_translate_tabs [Bool]

  • unexpand_tabs
    XXX

    -set_translate_tabs [Bool]

  • new_plugin
    Creates a new buffer and inserts a plugin template (a text command).

  • new_snippet
    Creates a new buffer and inserts a snippet template.

  • open_url
    Opens the specified url with the default browser.

    -url [String]

  • show_about_window
    I think you know what this does.

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/36895693-list-of-commands-to-be-implemented?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github).

Command: set_build_system

Issue by haddel
Tuesday May 05, 2015 at 19:32 GMT
Originally opened as limetext/backend#13


Reopening old Issue in relevant Repo
limetext/lime#95

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/37069665-command-set_build_system?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github).

Command: auto_complete

Issue by haddel
Tuesday May 05, 2015 at 19:54 GMT
Originally opened as limetext/backend#62


Reopening old Issue in relevant Repo
limetext/lime#17

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/37069479-command-auto_complete?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github).

Command: wrap_lines

Issue by haddel
Tuesday May 05, 2015 at 19:42 GMT
Originally opened as limetext/backend#36


Reopening old Issue in relevant Repo
limetext/lime#59

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/37069691-command-wrap_lines?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github).

move bugs

Some issues are fixed after #2 but there are still other bugs here that we can see on qml frontend.

Commands should respect line endings

They might already, but none of the tests check it. We could detect \r\n or rely on the line ending setting that will one day exist.

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/36953232-commands-should-respect-line-endings?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github).

Command: new_pane

Issue by haddel
Tuesday May 05, 2015 at 19:44 GMT
Originally opened as limetext/backend#39


Reopening old Issue in relevant Repo
limetext/lime#53

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/37069695-command-new_pane?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github).

Command: prompt_select_project

Issue by haddel
Tuesday May 05, 2015 at 19:39 GMT
Originally opened as limetext/backend#27


Reopening old Issue in relevant Repo
limetext/lime#75

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/37069675-command-prompt_select_project?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github).

Command: yank

Issue by haddel
Tuesday May 05, 2015 at 19:45 GMT
Originally opened as limetext/backend#42


Reopening old Issue in relevant Repo
limetext/lime#49

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/37069700-command-yank?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github).

Command: Find Commands regular expression

Issue by haddel
Tuesday May 05, 2015 at 19:28 GMT
Originally opened as limetext/backend#5


Reopening old Issue in relevant Repo
limetext/lime#450

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/37069659-command-find-commands-regular-expression?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github).

Command: permute_lines

Issue by haddel
Tuesday May 05, 2015 at 19:42 GMT
Originally opened as limetext/backend#35


Reopening old Issue in relevant Repo
limetext/lime#60

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/37069687-command-permute_lines?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github).

Command: close_tag

Issue by haddel
Tuesday May 05, 2015 at 19:41 GMT
Originally opened as limetext/backend#34


Reopening old Issue in relevant Repo
limetext/lime#61

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/37069689-command-close_tag?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github).

Command: toggle_comment

Issue by haddel
Tuesday May 05, 2015 at 19:33 GMT
Originally opened as limetext/backend#16


Reopening old Issue in relevant Repo
limetext/lime#86

--- Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/37069667-command-toggle_comment?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F35047167&utm_medium=issues&utm_source=github).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.