Skip to content

Releases: editxt/editxt


24 Mar 01:12
Choose a tag to compare
  • Update Python syntax definition
    • Add support for f-strings.
    • Add async and await keywords.
    • Add NotImplemented and Ellipsis built-in constants.
    • Add built-in functions.
  • Add def command to find selected function definition (requires syntax
    definition support: definition_rules).
  • Add markdown command to render text as markdown.
  • Add flake8 command.
  • Delete all selected ranges on backspace.
  • Go to selected line on blame.
  • Changed: swap order of first two github-url arguments.


22 Mar 21:03
Choose a tag to compare
  • Behavior change: make ag command search project directory by default rather
    than the directory of the current file. Use ag PATTERN . to search the
    current directory (old behavior). Fall back to directory of current editor's
    file if project directory is not set. Changed default project path to null
    rather than user's home directory because having ag recursively search the
    entire home directory by default could be pretty annoying.
  • Add isort command for sorting Python import statements.
  • Hard-wrap (wrap command) now defaults to 79 instead of 80 characters.
  • Add split and join commands.
  • Improve performance of pathfind command. It now searches source files only
    by default (using ag under the covers). It is no longer possible to
    automatically open the first match, but that was a bad feature anyway because
    it forced an exhaustive search before displaying any output. The new command
    searches in the background and shows matches as they are found.
  • Improve python command executable resolution and display of default value
    on command line.
  • Fix: command executed in wrong window after drag/drop editor to a different
  • Fix: command with external process is terminated when output is closed.
  • Updates for macOS 10.13 High Sierra


28 Oct 16:04
Choose a tag to compare
  • Auto-print last expression of python command input.
  • Change color of visited links in command output.
  • Command+i in find dialog to toggle ignore case.
  • Change new document insertion position in document tree to be consistent:
    after current document.
  • Fix off-by-one error in command bar path autocompletion.
  • Fix freeze on highlight text in large file.
  • Fix diff on save after file changed on disk.
  • Fix diff on prompt to overwrite.
  • Upgrade to Python 3.6.


20 Dec 13:41
Choose a tag to compare
  • Add unique command for removing duplicate lines.
  • Add preferences command (also aliased as config).
  • Add regular expression and Python syntax highlighting in find dialog.
  • Syntax highlighting: add bash comment token # for commenting multiple lines
    when Shell syntax is enabled.
  • Syntax highlighting: highlight escape sequences in Python strings.
  • Only escape characters in find dialog that have special meaning in regular
    expressions. This means that characters like space and tab are not escaped.
  • Show blame command error on non-zero exit.
  • Fix undo after type, paste, then type some more.
  • Fix bug in indentation mode/size detection: line with single leading space is
    not considered to be an indented line.
  • Fix editing commands (insert newline, indent, find/replace) and syntax
    highlighting in documents with emoji.
  • Fix insert newline removing characters when selected text had leading
  • Fix closing document with no path.
  • Fix command argument completion bugs.
  • Fix scrollbars showing when not needed.


14 Oct 20:09
Choose a tag to compare
  • Remove close buttons from file tree. Right-click > Close or or Command+W

  • Switch from ack to ag for faster find-in-file. Unfortunately the ag
    program's options are not compatible with ack, so this means you must
    install ag (a.k.a. the_silver_searcher) to use the ag command. The old
    ack command is an alias for the new ag command. The ag command also now
    runs in a background thread.

  • Allow multi-selection in file tree. Some commands work differently with
    multiple files selected. For example, if there are two files selected, the
    diff command will compare them. It is also possible to close multiple files
    at once by selecting them and then Right Click > Close.

  • The python command's executable argument now accepts a virtualenv path
    (or any directory containing an executable at bin/python) from which it will
    automatically derive the Python executable path.

  • Add blame command, which invokes git gui blame on the current file.

  • Add github-url command, which creates a link to the github page for the
    current file.

  • Exclude unwanted files and directories from the pathfind command. The default
    set of excluded files is:

          - "*.pyc"
          - ".git"
          - ".hg"
          - ".svn"

    This can be customized in the config file.

  • Maintain scroll position on soft wrap toggle.

  • Fixed sluggish typing and line number redrawing bug.

  • Fixed newlines in markdown output.

  • Fixed Escape key in project main view.

  • Fixed move to beginning of line (Home, Command+Left Arrow) with unicode.

  • Fixed bugs in Home/End cursor movement and selection.


21 Feb 21:00
Choose a tag to compare
  • Add wildcard path matching to open command.
  • Add set comment_token command, which changes the comment token for the
    document's language (in all editors) until the program is restarted.
  • Add moved file detection (update path when file is moved).
  • Add config setting (updates_path_on_file_move: true) and command to change
    document-level setting (set updates_path_on_file_move yes) to enable or
    disable file move detection for globally or individually for each document.
    The default config value is true (move detection is enabled by default).
  • Activate window unsaved indocator when current document has unsaved changes.
  • Do not escape spaces in command bar file auto-complete list.
  • Fix tab path expansion in project view when project path has trailing slash.
  • Fix default value for skipped regex args in command bar.
  • Fix document paths with up-references resulting in unnecessary save prompt.
  • Fix command completions view sometimes not drawing.
  • Fix line numbers overlap content text after find next.
  • Fix undo in command bar.
  • Fix command bar auto-complete for directory with space in name.
  • Improve responsiveness while highlighting syntax in large files.


30 Jan 22:35
Choose a tag to compare
  • Added many new syntax definitions derived from the
    highlight.js library. Note: the built-in theme
    does not yet have colors defined for all token types, so tokens in some
    languages may not be colored as expected. Better theme support is planned for
    a future release.
  • Syntax definitions now allow word_groups and delimited_ranges to be
    combined in a single rules list. Use of separate word_groups and
    delimited_ranges lists is deprecated, and cannot be used in combination
    with a consolidated rules list.
  • Syntax definition attribute default_text (added in 1.8.0) was renamed to
  • Add context menu for documents pane.
  • Add pathfind command for finding files by regular expression matching paths
    (similar to find /path | grep pattern). One place where this is very handy
    is finding the file for an imported Python module. Select the imported module
    path (example: editxt.command.find) and enter the pathfind command or use
    it's hotkey (Command+Alt+P) to quickly find the file for that module. The file
    will be opened if there is a single match. Otherwise a list of clickable
    matches will be displayed in the command output area. The default search path
    is the current project path, and can be set with the set project_path
  • Add ... abbreviation for the project path. This is displayed in window
    titles and other places where abbreviated paths are displayed. It can also be
    typed in the command bar to reference file paths from the root of the current
    project. Example: ack "def delimit" .../editxt.
  • Change: use selected text as default pattern for ack command.
  • Change: use first matching choice instead of error on ambiguous argument
    typed in command bar.
  • Change: prompt on save if file has path but does not exist on disk.
  • Do not open error log in new window on launch.
  • Convert newlines to match document on paste multi-line text.
  • Fix no document selected in tree after drag/drop.
  • Fix line numbers overlapping text on goto line > 100 in newly opened document.
  • Fix bugs in file command argument parser.
  • Fix sluggish line insertion on Mac OS 10.11.
  • Remove unnecessary "Paste and Match Style" menu item.
  • Hopefully fix xt script lag.
  • Fix/reset text attributes on reload document.


14 Nov 16:41
Choose a tag to compare

Fix python command in packaged


14 Nov 16:02
Choose a tag to compare
  • Pick a font!
    (install if necessary) then set font YourFavoriteFont to give it a spin.
    Finally, open ~/.editxt/config.yaml and set your preferred font.
    For example:
    font: face: Inconsolata size: 14
    Save and reload_config. If you really don't like change you can revert to
    the old font style:
    font: face: Monaco size: 10 smooth: false
    The system default fixed width font and size will be used if no font is set
    in the config. To view the current font, type set font in the command bar
    and observe the default parameter values.
  • Improve line numbers, including support for correct numbering on soft-wrapped
    documents. The line number view now uses the same background and border color
    as the right margin. These colors can be customized in the config:
    line_number_color: 707070 right_margin: position: 80 line_color: E6E6E6 margin_color: F7F7F7
  • Select line(s) on click/drag in line number view.
  • Rescan selection on Replace (Command+=), and replace only if the find
    text/pattern is found in the selection.
  • Add python command, which executes the current file content or selection
    as python code. It does the same thing as python -c CODE in a terminal.


31 Jan 16:59
Choose a tag to compare

Fix bugs in command parser.