Skip to content

2.0.0

Compare
Choose a tag to compare
@zyedidia zyedidia released this 11 Feb 22:03
· 985 commits to master since this release

The micro codebase has been refactored and is now better than ever! Micro 2.0 is an internal overhaul, with many new features as well.

This new version introduces breaking changes to the plugin API, though nearly all official plugins have been updated with 2.0 support. From now on, all plugins are placed in ~/.config/micro/plug to avoid loading/conflicting with old plugins. This is handled automatically by the plugin manager.

Please use the -clean flag when upgrading to micro 2.0 to clean out your configuration directory. This will remove unused options, remove the plugins directory if it exists, and remove any non-compliant file formats from ~/.config/micro/buffers, which stores buffer information for persistent undo and cursor history.

Below is the changelog for micro 2.0:

  • Overall performance and stability improvements
  • Simple autocompletion.
    • Autocompletion (tab by default) will do a simple "buffer completion" which will autocomplete according to words used elsewhere in the buffer. In the future plugin support could be added along with support for interfacing with language-specific autocompletion tools.
  • Automatic backups.
    • Backup files are stored in ~/.config/micro/backups for every open buffer and are saved roughly every 8 seconds if the buffer is being modified. Backups are removed when the buffer is closed, but if micro or the system crashes, any unsaved changes can be recovered by re-opening the file (micro will auto- recover) or by manually viewing the backup in the ~/.config/micro/backups directory.
  • Diff gutter
    • Shows your modifications in real-time in the gutter. Integrates with git automatically. Enable with the diffgutter option.
  • Configurable statusline (see the statusformatl and statusformatr options).
  • Configurable linter plugin (see the new linter docs).
  • Resizeable splits (click and drag on separators).
  • Buffer synchronization when the same file is opened
    multiple times.
  • Keybindings and mouse support in the command bar.
  • New options:
    • encoding: support for loading files in non-UTF8 encodings.
    • backup: performs automatic backups.
    • diffgutter: shows modifications in the gutter (integrates with Git).
    • statusformatl and statusformatr: options for customizing the look of the status line (left and right sides).
    • paste: tells micro a paste event is happening. Enable this before doing a paste through the terminal, and disable afterwards. See > help copy-paste for extensive details.
    • smartpaste: attempts to preserve correct indentation when pasting.
  • New textfilter command for using shell commands to help with editing.
  • Complete re-organization of the code to support better go modules and maintain a better directory structure.
  • Better plugin interface with better access to the Go standard library and internal Micro functions (lots of documentation still needs to be written). See the new plugins documentation.
  • The plugin manager can now be used from the CLI.
  • General QoL improvements and bug fixes.
    • Notably the infamous autoclose plugin crash issue is fixed.
  • New pre-installed colorschemes.
    • darcula
    • one-dark
    • gotham
    • sunny-day
    • material-tc
    • monokai-dark
  • Improved Windows support.
  • Many new syntax files and improvements to existing syntax files.

If you find any bugs please report them on the Github issue tracker. Enjoy!