./editors/micro, Modern and intuitive terminal-based text editor

[ Image CVSweb ] [ Image Homepage ] [ Image RSS ] [ Image Required by ] [ Image Add to tracker ]


Branch: CURRENT, Version: 2.0.15, Package name: micro-2.0.15, Maintainer: sjmulder

Terminal-based text editor that aims to be easy to use and intuitive,
while also taking advantage of the capabilities of modern terminals.

As its name indicates, micro aims to be somewhat of a successor to the
nano editor by being easy to install and use. It strives to be enjoyable
as a full-time editor for people who prefer to work in a terminal, or
those who regularly edit files over SSH.


Required to build:
[pkgtools/cwrappers] [lang/go114]

Master sites:

Filesize: 576.382 KB

Version history: (Expand)


CVS history: (Expand)


   2026-04-10 23:01:16 by Sijmen J. Mulder | Files touched by this commit (3)
Log message:
editors/micro: Update to 2.0.15

Changes:

New options:
 - truecolor (supersedes the MICRO_TRUECOLOR environment variable)
 - showchars (deprecates indentchar)
 - lockbindings for completely disallowing plugins to modify
   keybindings
 - helpsplit for changing default split type for the help command
 - pageoverlap for setting number of lines kept during page up/page
   down

New actions:
 - FirstTab, LastTab, FirstSplit and LastSplit
    - Note: also changed the behavior of NextTab, PreviousTab,
      NextSplit, PreviousSplit
    - But adjusted the default keybindings so the default behavior
      remains unchanged
 - SkipMultiCursorBack as a counterpart to SkipMultiCursor
 - CursorToViewTop, CursorToViewCenter, CursorToViewBottom
 - Duplicate for duplicating the selection only, not the whole line

Improved actions:
 - Improve and unify CopyLine, CutLine, DeleteLine, DuplicateLine
   actions
    - Note: changed the behavior of those actions
    - But also adjusted the default keybindings so the default behavior
      remains unchanged
 - Restore pre-2.0.14 behavior of SpawnMultiCursor{Up,Down}
 - Nano-like page up/page down functionality

Lua improvements:
 - Plugins never write to settings.json or bindings.json anymore
 - Add onBufferOptionChanged callback
 - Add SpawnCursorAtLoc()
 - Expose bufpane's DoubleClick and TripleClick to plugins
 - Pass mouse info to {on,pre}MouseXXX callbacks
 - Support goto statement from Lua 5.2

Syntax highlighting improvements:
 - Haskell syntax: various improvements and fixes
 - Rust syntax:
    - Recognize byte strings and C strings
    - Add more keywords and types
 - C++ syntax:
    - Highlight binary and hex literals with single-quote separator per
      C++14
    - Highlight auto as data type per C++17
    - Improve C++ filetype detection by using more keywords
 - Shell syntax:
    - Correctly match parameter expansions without braces
    - Match variables with leading underscore
    - Match --options-with-hyphens
 - Asm syntax: highlight C-like comments
 - Ruby syntax: highlight predefined variables
 - CSS syntax: add more commands
 - Swift syntax: add shebang
 - Java syntax: add var keyword
 - Javascript syntax: add .cjs extension
 - Groovy syntax: fix triple quotes highlighting
 - Fish syntax: fix variable expansion
 - Raku syntax: add .rakutest extension
 - Arduino syntax: make filetype detection less aggressive
 - Add OpenSCAD syntax
 - Add PRQL syntax
 - Add meson syntax
 - Add nftables config syntax

Various improvements:
 - Save files safely, writing to the backup file first
    - Also write settings.json, bindings.json etc safely as well, using
      a temporary file
 - Support vim-like +/text search in command-line args
 - Add toggle & togglelocal commands for toggling boolean options
 - Add -vsplit & -hsplit as optional arguments for help
 - Make textfilter work with multicursors
 - Support \x syntax for raw escape sequences in bindings.json
 - Add overwrite mode indicator to the status line
 - Support showing git commit hash and branch in the status line
 - Support terminal emulation on Solaris, OpenBSD* and NetBSD
    - OpenBSD - on 32-bit only
 - Display name "Raw event viewer" instead of "No Name" for \ 
raw pane
 - Differentiate built-in plugins when listing
 - Disable sudo save prompt on Windows
 - Only set buffer type to stdout when no file args are passed
 - Linter: add ruff for Python
 - Linter: ldc2 and gdc for D
 - Add comment support for typescript
 - README: Update micro's version for the Go Report Card

Bugfixes:
 - Fix cd a\ causing crash on Windows
 - Fix SIGINT killing micro when saving with sudo
 - Fix crash when exiting terminal in some cases
 - Fix crash when shell.JobSpawn is called from Lua while no callback
   is set
 - Fix 2.0.14 regression: inconsistently working cursor up/down after
   selection
 - Fix 2.0.14 regression: colorscheme plugins not working
 - Fix non-working raw escape bindings after restarting the screen
 - Fix spurious backups of unmodified files
 - Fix drawing wide characters in the info bar
 - Search / replace fixes:
    - Fix infinite loop in replace when empty string matches
    - Make FindNext and FindPrevious work with empty matches
    - Match beginning and end of line correctly
 - Fixes related to saving files:
    - Don't prompt to save file if the same file is opened in another
      buffer
    - Prompt to save new file regardless of autosave enabled
    - Fix per-filetype settings not being applied when saving as a new
      file
    - Support saving with sudo in more cases
    - Update displayed name when saving file with a different name
 - Fix comment plugin not using user settings when overriding default
   setting
    - Introduces comment.type option which deprecates existing
      commenttype
 - Fix rendering Unicode 14.0+ emojis
 - Properly handle escaped and quoted characters in keybindings
 - Fix tabs suddenly becoming invisible after tabmove
 - Fix cycling through completion suggestions stopping at non-word
   character
 - Fix scrollbar covering cursor
 - Fix ruler drawn on top of the tab bar
 - Relocate buffer view after setting options that affect it
 - Fix non-working proportional resize after closing a nested VSplit
   inside a HSplit
 - Fix non-working matching brace highlighting in sunny-day colorscheme
 - Fix micro broken on OpenBSD

Documentation improvements:
 - Update and improve man page and micro -help output
 - List more bindable actions in help keybindings
 - Document binding keys to Lua functions
 - Document passing *tcell.EventMouse to mouse action callbacks
 - Update and correct documentation for onAction return value
 - Some small improvements

Build system changes:
 - Minimum supported Go version changed from 1.16 to 1.19
 - Make all builds explicitly fully static (disable CGO)
 - Add build target for Windows ARM64
 - Add build targets for Solaris and Illumos
 - Set version as release when there are no commits ahead
 - Fetch tags with --force
 - Micro's dependencies (the forked tcell and others) moved to
   https://github.com/micro-editor
   2026-04-08 07:45:14 by Benny Siegert | Files touched by this commit (203) | Package updated
Log message:
Revbump all Go packages after security update
   2026-03-06 22:08:08 by Benny Siegert | Files touched by this commit (203) | Package updated
Log message:
Revbump all Go packages after go126 update
   2026-02-24 09:45:43 by Benny Siegert | Files touched by this commit (203)
Log message:
Revbump all Go packages after default version bump
   2026-01-26 20:49:21 by Benny Siegert | Files touched by this commit (21)
Log message:
Move non-pattern Go flags to GOFLAGS.

GO_BUILD_PATTERN is only for patterns, as announced on tech-pkg@.
   2026-01-15 20:55:00 by Benny Siegert | Files touched by this commit (202) | Package updated
Log message:
Revbump all Go packages after go125 update
   2025-12-02 20:25:26 by Benny Siegert | Files touched by this commit (202) | Package updated
Log message:
Revbump all Go packages after go125 update
   2025-10-16 20:00:06 by Benny Siegert | Files touched by this commit (200) | Package updated
Log message:
Revbump all Go packages after go125 update