Zachary Yedidia [Mon, 8 Aug 2016 01:41:12 +0000 (21:41 -0400)]
Bind OutdentSelection to ShiftTab (Backtab)
I was under the impression that tcell couldn't detect shift tab
key presses, but this was incorrect. It turns out that tcell just
calls it backtab. This commit makes backtab the default binding
for OutdentSelection.
Zachary Yedidia [Sun, 7 Aug 2016 23:45:35 +0000 (19:45 -0400)]
Bindings for IndentSelection and OutdentSelection
Tab is now bound to both IndentSelection and InsertTab.
There is currently no binding for OutdentSelection (the user can
bind that to their liking). Hopefully in the future it can be bound
to shift-tab but tcell does currently support that.
The monokai-tc colorscheme has been renamed to plain monokai and has
been made the default colorscheme. It is still a true color colorscheme,
but the automatic 256 color approximation is very good so it can be used
just fine in terminals which do not support true color.
If your terminal only supports 16 colors, used the 'default'
colorscheme.
Add the ability to close splits and change splits using the mouse
This commits adds split navigation with the mouse and the ability to
close splits. You can now also open a file directly with the hsplit
and vsplit commands.
Zachary Yedidia [Sat, 25 Jun 2016 23:20:13 +0000 (19:20 -0400)]
Add string group to syntax files
This commit adds the string group (constant.string) to valid strings
in all the syntax files that support colorschemes (see the readme in
the runtime/syntax directory).
Zachary Yedidia [Wed, 22 Jun 2016 22:51:36 +0000 (18:51 -0400)]
Colorscheme group inheritance
With this commit, the syntax files can define groups that are subsets of
other groups, for example constant.string. This is so that colorschemes
can be more accurate, possibly highlighting strings differently than
numbers for example.
See #176. This doesn't fully close that issue yet because the string
group still needs to be added to all strings in the syntax files.
Zachary Yedidia [Wed, 22 Jun 2016 17:54:42 +0000 (13:54 -0400)]
Add autoclose plugin to handle autoclose for brackets, quotes etc...
The plugin adds an option `autoclose` to configure whether or not you
would like quotes, brackets etc... to be automatically closed. The
option is enabled by default.
Zachary Yedidia [Tue, 21 Jun 2016 21:57:25 +0000 (17:57 -0400)]
Add onRune(r string) callback for plugins
Define this function in a plugin (which takes one argument) to be
notified whenever a character is typed, and the character will be passed
as the argument.
Zachary Yedidia [Tue, 21 Jun 2016 21:49:57 +0000 (17:49 -0400)]
Auto prefix for plugin functions
YOu no longer have to prefix all functions in a plugin with the plugin
name (linter_onSave). This will now be done automatically using lua's
setfenv. When passing a function as a callback to a editor function,
make sure to prefix the plugin name (linter.onExit, or go.goimports) so
that micro knows which plugin to call the function from.
Zachary Yedidia [Wed, 15 Jun 2016 15:19:00 +0000 (11:19 -0400)]
Add support for job control
This commit adds support for job control (running processes
asynchronously from plugins) with the JobStart, JobSend, and JobStop
functions (copying neovim's job control).
This commit also makes the linter plugin work asynchronously, so the
editor won't be frozen while the linter checks your code for errors.
Zachary Yedidia [Wed, 8 Jun 2016 22:49:08 +0000 (18:49 -0400)]
Add support for tabs
Merge branch 'tabbar'
This branch adds support for having multiple tabs open, each viewing one
file. Use CtrlT to open a new tab empty tab and then CtrlO to open a
file in that tab. Use can also just open multiple files from the command
line: `micro file1.txt file2.txt ...`. Use Ctrl-] and Ctrl-\ to move
between the tabs, or simply click them with the mouse.