Commit graph

348 commits

Author SHA1 Message Date
Zachary Yedidia
f790e16883 Fix minor autoindent bug 2016-08-18 11:31:09 -07:00
Zachary Yedidia
8d230d2038 Fix some issues with unicode handling
There were unicode issues with prompts, search, and syntax highlighting,
which are now fixed.
2016-08-18 08:14:33 -07:00
Zachary Yedidia
e4b6a931de Make setting options global 2016-08-17 20:00:38 -07:00
Zachary Yedidia
7474fdc499 Fix statusline suggestion style 2016-08-17 15:22:22 -04:00
Zachary Yedidia
fd68dbd852 Add visual indicator for autocomplete suggestions 2016-08-17 14:37:30 -04:00
Zachary Yedidia
d17cc0f628 Add boolean option to actions to disable the lua callback 2016-08-17 14:16:27 -04:00
Zachary Yedidia
8a58506c72 Add much better autocompletion for commands 2016-08-17 13:49:37 -04:00
Zachary Yedidia
932370f597 Add current-line-number colors to all colorschemes 2016-08-17 12:49:11 -04:00
Zachary Yedidia
70c3d42f9c Update runtime.go 2016-08-17 11:59:38 -04:00
Zachary Yedidia
6777419dc4 Don't open a new split if help is already open 2016-08-17 11:59:37 -04:00
Zachary Yedidia
4a0c48587a Split help into multiple files and add help command 2016-08-17 11:59:37 -04:00
Zachary Yedidia
cb79e08f19 Minor fix to current line num style 2016-08-17 11:59:29 -04:00
Zachary Yedidia
1e26aaed3c Merge pull request #209 from onodera-punpun/coloredline
Add colored current line number option
2016-08-16 22:03:07 -04:00
Zachary Yedidia
563484ffc9 Clean up go plugin 2016-08-16 13:52:42 -04:00
Zachary Yedidia
b42aba05a0 Fix recursive issue with go plugin 2016-08-16 13:46:33 -04:00
Zachary Yedidia
ed31d37e74 Change plugin callbacks to not only happen when a keybinding triggers the action 2016-08-16 11:43:36 -04:00
Zachary Yedidia
de9567322b Rebind Home and End to StartOfLine and EndOfLine
This commit changes the default keybindings for Home and End. It
also changes the InsertEnter action to InsertNewline (a better name)
although InsertEnter is still valid for backwards compatibility.

Closes #206
2016-08-16 10:55:04 -04:00
Camille Scholtz
e38e1c9dff Add colored current line number option 2016-08-15 22:35:40 +02:00
Zachary Yedidia
899b6a4a24 User plugins should replace default plugins
Fixes #208
2016-08-14 15:29:02 -04:00
Zachary Yedidia
632e4312d5 Syntax highlighting optimization 2016-08-13 21:28:52 -04:00
Zachary Yedidia
28897c01ea Add HandleCommand and HandleShellCommand to plugin api 2016-08-13 11:44:30 -04:00
Zachary Yedidia
1b9ae5706e Minor update 2016-08-11 17:35:40 -04:00
Zachary Yedidia
096a403d52 Set parents correctly on split nodes 2016-08-11 16:59:06 -04:00
Zachary Yedidia
7c13dee33d Small fix to splits 2016-08-11 16:52:50 -04:00
Zachary Yedidia
61536326ca Fix statusline and tabbar offsets 2016-08-11 13:50:59 -04:00
Zachary Yedidia
bd55c5f834 Add ability to delete splits 2016-08-11 11:27:32 -04:00
Zachary Yedidia
cbbe312762 Add split_tree and ability to create splits 2016-08-11 10:45:35 -04:00
Zachary Yedidia
2cbd9428aa Remove current implementation of splits 2016-08-10 15:28:23 -04:00
Zachary Yedidia
5a005e36b6 Small fix to OutdentSelection 2016-08-08 13:11:34 -05:00
Zachary Yedidia
c409f1cc07 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.

See #203
2016-08-07 21:41:12 -04:00
Zachary Yedidia
586a66b3a4 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.

Closes #203
2016-08-07 19:45:35 -04:00
Zachary Yedidia
5da6b31b9c Pressing tab on a selection indents the selection
See #203
2016-08-02 18:30:36 -04:00
Zachary Yedidia
204a763dff Remove backspace prompt cancelation
Fixes #202
2016-08-02 09:45:41 -04:00
Zachary Yedidia
5444ad50c4 Add gololang to pre installed syntax files 2016-07-30 16:01:46 -04:00
Zachary Yedidia
76a9697a80 Use file completion for command mode 2016-07-24 16:38:37 -04:00
Zachary Yedidia
431eb12c96 Add tab command to open a file in a new tab 2016-07-24 16:29:03 -04:00
Zachary Yedidia
ddcebe4946 Fix issue with autoclose plugin 2016-07-24 16:19:41 -04:00
Zachary Yedidia
ba33802525 Use my fork of clipboard 2016-07-24 10:51:08 -04:00
Zachary Yedidia
cfd97b21ad Fix small horizontal scrolling glitch 2016-07-23 11:58:28 -04:00
Zachary Yedidia
c7b84a7eaa Rehighlight a split as soon as it is opened
I think this might fix the problem in #198, but I can't seemd to
reproduce it.
2016-07-19 20:15:23 -04:00
Zachary Yedidia
e890c878f3 Add separator characters between splits
Fixes #196
2016-07-15 17:38:42 -04:00
Zachary Yedidia
eba501e095 Highlight plist as XML
See #197
2016-07-15 17:29:36 -04:00
Zachary Yedidia
47940d3ffd Recompile runtime.go
Fixes #195
2016-07-14 15:39:15 -04:00
Zachary Yedidia
92c28d81b9 Add preAction plugin callbacks which can return false to cancel the action 2016-07-14 13:53:38 -04:00
Zachary Yedidia
1c077247f6 Merge 2016-07-14 13:01:10 -04:00
Zachary Yedidia
02f78edaf9 Open help in a separate split 2016-07-14 13:01:02 -04:00
Timon Böhler
ce5a867286 Changed Python syntax file to use Go's regex for matching string literals (which also works for empty strings) 2016-07-13 21:03:16 +02:00
Zachary Yedidia
abd36649c9 Update runtime and syntax file listing 2016-07-12 09:12:07 -04:00
Zachary Yedidia
7ae0310863 Fix draw ordering 2016-07-11 19:10:29 -04:00
Zachary Yedidia
a15c6ede81 Rewrite view display function 2016-07-11 15:35:50 -04:00
Zachary Yedidia
f2ec82520a Separate bindings and actions into two files 2016-07-10 13:30:28 -04:00
Zachary Yedidia
50e22dafc4 Add some lines back 2016-07-10 13:27:28 -04:00
Zachary Yedidia
8c0983a36c Add some more comments 2016-07-10 13:26:24 -04:00
Zachary Yedidia
6489f4b6e8 Merge pull request #185 from zyedidia/splits
Splits
2016-07-09 11:41:53 -04:00
Zachary Yedidia
271b127f79 Fix small glitch with splits 2016-07-09 11:29:22 -04:00
Zachary Yedidia
f01dc89171 Fix extra line being added with odd heights 2016-07-05 18:46:50 -04:00
Zachary Yedidia
3d3b76a31c Change default colorscheme to monokai
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.
2016-07-05 18:34:51 -04:00
Zachary Yedidia
3089967546 Add binding to move to next split (default binding: CtrlW) 2016-07-02 17:41:23 -04:00
Zachary Yedidia
4a15a1d3c8 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.
2016-07-02 17:41:23 -04:00
Zachary Yedidia
d2b11c2f98 Fix tabbar offset with splits 2016-07-02 17:41:23 -04:00
Zachary Yedidia
d419e65a03 Make sure splits can't draw in other splits 2016-07-02 17:41:23 -04:00
Zachary Yedidia
bcbef1c633 Add horizontal splits 2016-07-02 17:41:23 -04:00
Zachary Yedidia
7e0286b621 Fix redrawing for splits 2016-07-02 17:41:23 -04:00
Zachary Yedidia
9b9ae89e59 Quick first try at vertical splits 2016-07-02 17:41:23 -04:00
Zachary Yedidia
cb238db307 Merge pull request #189 from onodera-punpun/sudosave
bindings:go: Only display saved message if actually saved
2016-06-30 11:08:12 -04:00
Camille Scholtz
151df0d2aa bindings:go: Only display saved message if actually saved 2016-06-30 16:49:32 +02:00
Zachary Yedidia
2002cb6579 Wrap around when using NextTab and PreviousTab
Fixes #188
2016-06-28 21:29:46 -04:00
Zachary Yedidia
aa8a329745 Fix JumpLine range
Fixes #187
2016-06-28 21:26:19 -04:00
Zachary Yedidia
22257df9a4 Fix replace cursor relocation 2016-06-28 15:06:42 -04:00
Camille Scholtz
b0ef071e94 command.go: Simplify and prettify replace feedback 2016-06-28 19:55:29 +02:00
Camille Scholtz
24b01776b3 command.go: Add some feedback to replace 2016-06-28 19:49:26 +02:00
Zachary Yedidia
cc9dd00948 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).

Fixes #178
2016-06-25 19:20:13 -04:00
Zachary Yedidia
c51c185be6 Add feedback to save with sudo
Fixes #183
2016-06-25 13:42:21 -04:00
Zachary Yedidia
91dd06fd9e Add new colorschemes to runtime 2016-06-23 08:39:26 -04:00
Zachary Yedidia
e6adc173f3 Fix issue with autoclose plugin 2016-06-22 21:03:40 -04:00
Zachary Yedidia
dbeb99bb6b 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.
2016-06-22 18:51:36 -04:00
Zachary Yedidia
6665834cca 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.

Closes #176
2016-06-22 13:54:42 -04:00
Zachary Yedidia
47efea6501 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.
2016-06-21 17:57:25 -04:00
Zachary Yedidia
d32d373bff Only copy messages if there is a mouse left click (not any mouse event) 2016-06-21 17:54:36 -04:00
Zachary Yedidia
77b6c2c486 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.
2016-06-21 17:49:57 -04:00
Zachary Yedidia
c1dadbd0c7 Fix mouse controls
Fixes #173
2016-06-19 09:02:47 -04:00
Zachary Yedidia
8be0f9c529 Clicking on messages will copy them to the clipboard
Fixes #172
2016-06-17 11:24:54 -04:00
Zachary Yedidia
d2277a376a 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.
2016-06-15 11:19:00 -04:00
Zachary Yedidia
4a860625af Also allow ModShift to be on for windows terminals
Fixes #165
2016-06-11 19:41:37 -04:00
Zachary Yedidia
553b3d80c4 Fix diff remove problem in ApplyDiff
The location counter was being updated when there was a removal in
the text but it shouldn't be.

Fixes #163
2016-06-11 11:23:05 -04:00
Zachary Yedidia
cdfea45a49 Fix cursor line in true color colorschemes
Ref #171
2016-06-09 16:00:43 -04:00
Zachary Yedidia
f3f14193c2 Fix autocompletion using a slash 2016-06-09 13:36:16 -04:00
Zachary Yedidia
e2079ac88e Add file completion to OpenFile (CtrlO) with tab 2016-06-09 10:03:50 -04:00
Zachary Yedidia
1f89b41070 Fix mouse coordinates when tabbar is open
Fixes #170
2016-06-09 09:29:23 -04:00
Zachary Yedidia
1295b877e3 Fix tabbar bug
Fixes #169
2016-06-08 21:07:40 -04:00
Zachary Yedidia
860bc248c4 Fix resizing of tabs opened with the command line 2016-06-08 19:43:05 -04:00
Zachary Yedidia
2c73e1c043 Add default bindings for PreviousTab and NextTab 2016-06-08 18:48:59 -04:00
Zachary Yedidia
a79e964cb6 Make tabs respond to mouse events 2016-06-08 17:47:48 -04:00
Zachary Yedidia
059a5c3b89 Resize the view correctly when there is only one tab left 2016-06-08 14:38:15 -04:00
Zachary Yedidia
57f769c9a1 Don't display the tab bar if only one tab is open 2016-06-08 13:29:24 -04:00
Zachary Yedidia
40affa56c7 Create tab struct and reorganize tab bar 2016-06-08 13:26:50 -04:00
Zachary Yedidia
5f19f69681 Tab bar and support for opening multiple files 2016-06-08 12:19:36 -04:00
Zachary Yedidia
3080e32a8f Fix multiline remove in lineArray
I forgot that when you remove lines[n] then lines[n+1] becomes lines[n]
so to remove the range lines[a:b] you need to remove lines[a] for a-b
times. In this case we should delete lines[start.Y + 1] over and over
instead of removing lines[i] because i is contantly increasing.

Fixes #166
2016-06-08 10:21:27 -04:00
Zachary Yedidia
bd0fa7b6c2 Add DeleteLine binding
Ref #135
2016-06-07 21:47:34 -04:00
Zachary Yedidia
3deee51537 Fix bug with pasting with new Location system 2016-06-07 18:24:13 -04:00