Howl 0.4 released!
We are very happy to announce the release of Howl 0.4 - a major milestone in the march towards 1.0! Highlights of this release are below and the full changelog since 0.3 is included at the bottom of this blog post.
New editing engine
This highlight of this release is the switch to aullar - a custom-built editing engine for Howl. Written in Moonscript, Aullar enables new features for Howl and is easier to customize than the Scintilla engine it replaces. While the intention for the 0.4 release was to provide the bare minimum of features needed for replacing Scintilla, there are a number of new features and capabilities resulting from the switch. You can read a lot more about the new editing engine, including some history and highlights of new features here.
New themes and theming possibilities
With the new editing engine in place, the surrounding theming support was reworked to allow for more advanced themes. Since 0.3 Howl now has three new built-in themes to choose from: Monokai, Steinom and Blueberry Blend. The first of these, Monokai, is the new default theme starting with 0.4:
The second one, Steinom, shows off some of the new theming possibilities such as background images and transparency:
A new Pascal bundle was added with lexing and indentation support, etc., replacing the old basic Pascal bundle.
Go language got proper support in Howl, with support for syntax highlighting, autocompletion (using
gocode) and auto formatting:
New and improved commands
open command file browser got a few enhancements - it now shows previews
while browsing, displays icons next to filenames and also supports recursive
directory search which can be toggled by pressing
ctrl_s. Illustrated by the
below screenshot using the new Blueberry Blend theme:
Many new commands were added, including
open-recent to find recently closed
cursor-goto-brace to jump between brace pairs,
jump to a given line number,
advanced buffer searches.
Buffer management for the lazy
Opening new buffers aren’t typically that much of a chore (and even less so in
0.4 with the new
open-recent command), but closing them can be tedious. As a
result, it’s easy to end up with some 100+ buffers open after some time even
though they’re no longer of interest. Fortunately, starting with 0.4 Howl will
now automatically close old buffers for you. The manual contains more
information about how this is handled.
Full Changelog since 0.3
New and improved
Added a new theme ‘Blueberry Blend’
New Pascal bundle (lexing, indentation support, etc). Replaces the old basic Pascal mode.
Added a new command,
cursor-goto-bracefor moving cursor to matching brace.
Changed brace highlighting logic to match braces of same styles only.
New Go bundle (lexing, autocompletion and formatting).
Added icons for buffer listings.
Undo now resets the buffer modified flag if it reaches the original revision.
Added a new theme,
monokai. This will be the new default theme, starting with the 0.4 release.
Added a new theme,
Added a new function
sys.time()which returns the POSIX time for the system with microsecond resolution.
Added a new module, ‘janitor’, which automatically closes old buffers and tries to release memory back to the OS. The buffer closing is controlled by two new configuration variables,
Added a new command,
cursor-goto-linefor going to a specified line.
Added Timer.on_idle, for performing operations upon idle.
Added a new property, Application.idle, for determining how long the application has been idle.
Added new configuration variable,
undo_limit, for controlling the maximum number of revisions for each buffer.
open-recentcommand, bound to
ctrl_shift_o, to show a list of recently closed files and let the user select one to re-open.
buffer-grep-regexcommands similar to
buffer-grepbut using exact and regular expression matches, respectively.
Changed how Howl loads files specified on the command line. Previously files were loaded in different views, and now they’re all loaded with one file being shown (issue #123).
Added recursive listing feature to file interactions. Pressing
opencommand now toggles between recursive and regular list of files.
Added custom font support and Font Awesome icons for file listings.
Added two new configuration variables for line wrapping:
Upgrade LuaJIT to LuaJIT-2.1.0-beta1
Added new bundle, ‘mail-mode’.
Added support for loading user configuration from a XDG Base Directory compliant directory. It’s not the default, but will be used if
~/.howlis not present and the XDG directory is.
Added previews for the
Replaced the old editing engine Scintilla with a new custom written engine, code-named
howl-moon-evalcommand was improved by automatically adjusting the indentation levels to work as a stand-alone code chunk.
- Issues as seen on Github
on_selection_changecallback for interactions has been renamed to
on_changeand triggers even when selection stays the same but the text changes.
The theming support has been updated. Custom themes for previous versions will have to be updated for 0.4, which is easiest done by looking at the built-in themes shipping with Howl.