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
Zachary Yedidia
d72da1eb5c
Add more descriptive error message if there is an error with gob
2016-06-07 17:03:05 -04:00
Zachary Yedidia
8d184c1870
Fix glitch with undo
2016-06-07 16:10:39 -04:00
Zachary Yedidia
f0b6725000
Minor fix
2016-06-07 14:45:37 -04:00
Zachary Yedidia
f0faeb3a3e
Fix bug with Move()
2016-06-07 12:31:02 -04:00
Zachary Yedidia
72f5808025
Replace rope with lineArray
2016-06-07 11:43:28 -04:00
Zachary Yedidia
d6307b2718
Proper support for double width characters
...
Fixes #99
2016-06-04 16:25:11 -04:00
Zachary Yedidia
852bd2c904
Fix redraw bug
...
Fixes #162
2016-06-04 16:00:53 -04:00
Zachary Yedidia
3d62a1baa0
Don't display cursorline if there is a selection
2016-06-02 13:15:47 -04:00
Zachary Yedidia
7e218562a3
Remove "Applying Diff" message on reopen
...
Fixes #160
2016-06-02 13:05:57 -04:00
Zachary Yedidia
e6c6c7f47d
Merge
2016-06-02 13:04:11 -04:00
Zachary Yedidia
1d52ef6c54
Add simple way to save with sudo if you forgot to open micro with sudo
...
If you are editing a read-only file and forgot to open micro with sudo
so you could write to it, when saving the file, micro will now give you
the option to save with sudo.
This little hack is used by vim users to achieve the same behavior, but
micro makes it nicer to use. Here is an explanation for how it works:
http://stackoverflow.com/questions/2600783/how-does-the-vim-write-with-sudo-trick-work
Fixes #158
2016-06-02 13:01:13 -04:00
JT Olds
646cdd6a9f
chainable actions and flexible modifiers
...
Doesn't work quite right yet, but the idea is to support
arbitrary modifiers without having to hardcode in all the permutations
of alt/shift/ctrl for every key, along with chainable actions,
so this can be configured:
"AltBackspace": "SelectWordLeft,Backspace",
2016-06-01 19:43:30 -06:00
Zachary Yedidia
9e96623725
Small improvement to line selection
2016-06-01 18:00:49 -04:00
Zachary Yedidia
742370646f
Add cursorline option
2016-06-01 10:05:17 -04:00
Zachary Yedidia
5e83b2c99a
Fix redraw glitch
2016-06-01 07:45:01 -04:00
Zachary Yedidia
cd6389c49e
Make CursorPageUp and CursorPageDown default
...
This commit also fixes the documentation for PageUp and PageDown.
See #149
2016-05-31 19:45:19 -04:00
Zachary Yedidia
312595ba4f
Merge
2016-05-31 19:25:35 -04:00
Zachary Yedidia
64c0446b8d
Fix redraw glitch
2016-05-31 19:25:32 -04:00
JT Olds
8bd23a575f
Add CursorPageUp and CursorPageDown actions
2016-05-31 16:02:42 -06:00
Zachary Yedidia
74cac8291a
Screen redraw optimization
...
We don't have to clear the screen every time, we only have to make sure
that we erase the rest of the line that used to be on the current line.
We can still optimize a bit more by finding the longest line and drawing
to that length, but using the full width is fine for now.
2016-05-31 17:23:08 -04:00
Zachary Yedidia
ef17306f8b
Allow changes from external programs to be undone
...
We use a diff to be able to transform the buffer into an arbitrary
string (usually when we reread the file after an external program such
as gofmt has changed it) and still preserve undo/redo.
Fixes #136
2016-05-30 21:01:40 -04:00
Zachary Yedidia
d4caf4510c
Fix bug with on reopen
2016-05-30 18:22:10 -04:00
Zachary Yedidia
b312e7c9ad
Refactor ReOpen function
2016-05-30 17:48:33 -04:00
Zachary Yedidia
7adcb13c08
Add support for user-created commands
...
Plugins can now create their own commands using the `MakeCommand`
function. Plugins can also now create their own keybindings with the
`BindKey` function. See the go plugin for an example of `MakeCommand`.
2016-05-30 13:38:50 -04:00
Zachary Yedidia
68189fd406
Add ability to bind lua functions defined in plugins
2016-05-30 09:12:04 -04:00
Zachary Yedidia
e3e50dd6f6
Add DeleteWordRight and DeleteWordLeft bindings
2016-05-29 19:09:27 -04:00
Zachary Yedidia
19717dd3ae
Check if the file being edited has been modified by an external program
2016-05-29 17:58:06 -04:00
Zachary Yedidia
ee9f2a3d9c
Add persistent undo as the option
2016-05-29 11:02:56 -04:00
Zachary Yedidia
1fe18eecb7
Add history navigation with up and down arrows
...
Fixes #145
2016-05-28 18:41:53 -04:00
Zachary Yedidia
a92a7dc4e6
Add savecursor option
...
This adds the `savecursor` option which will remember where the cursor
was when the file was closed and put it back when the file is opened
again. The option is off by default so that people aren't confused as to
why the cursor isn't at the start of a file when they open it.
This commit also adds a more general ability to serialize a buffer so
various components can be saved (which could also be useful for persistent
undo).
Fixes #107
2016-05-28 17:29:49 -04:00
Zachary Yedidia
96c7bc67c0
Make Quit() close help if its open and not the whole editor
...
Fixes #146
2016-05-28 14:53:48 -04:00
Zachary Yedidia
87d147cf92
Indicate correct help binding in status line
2016-05-28 13:58:42 -04:00
Zachary Yedidia
a08f457cd0
Allow users to insert \t and \n in replace commands
...
Fixes #144
2016-05-28 11:40:22 -04:00
Zachary Yedidia
b641d67561
Rematch every time a replacement is made
2016-05-28 11:36:48 -04:00
Zachary Yedidia
e8d8da1443
Refactor and clean up
...
This commit puts in place the ability for multiple views (splits).
This commit also removes the editor bindings so that all bindings can be
rebound by the user.
I also added some more comments
This fixes #109
2016-05-28 11:32:09 -04:00
Zachary Yedidia
d9d0af4a99
Merge pull request #139 from onodera-punpun/undo_option
...
make undothresthold a setting and add stackundo option
2016-05-27 18:05:37 -04:00
Camille
00fe82e9c7
Fix typo
2016-05-27 23:39:53 +02:00
Camille Scholtz
1806ef3ad0
Remove undo options, make stackundo default behavior
2016-05-27 23:39:27 +02:00
Camille Scholtz
007ece1e78
Add stackundo option
2016-05-26 19:36:59 +02:00
Zachary Yedidia
66d448a59c
Fix highlighting and searching with unicode characters
...
Fixes #134
Fixes #138
2016-05-25 11:49:04 -04:00
Zachary Yedidia
ca58fc949e
Make sure there is a selection before deleting it
...
Fixes #140
2016-05-24 17:46:46 -04:00
Camille Scholtz
e553815501
make undothresthold a setting (part 2)
2016-05-24 21:40:05 +02:00
Camille Scholtz
3da2a870b6
make undothresthold a setting
2016-05-24 21:38:46 +02:00
Zachary Yedidia
f730864e9f
Do a bounds check for charpos function
2016-05-24 09:15:01 -04:00
Zachary Yedidia
55a6b6701d
Fix crash
2016-05-22 20:59:31 -04:00
Zachary Yedidia
7d1d118fee
Improve the scrollmargin behavior at the end of the buffer
2016-05-22 17:52:42 -04:00
Zachary Yedidia
6ece5bc41a
Fix tabstospaces problem
2016-05-22 15:47:28 -04:00
Zachary Yedidia
4cc85868d9
Rename to tabstospaces for consistency
2016-05-22 15:35:57 -04:00
Zachary Yedidia
74e55f03fe
Merge pull request #130 from onodera-punpun/center_search
...
Add a bit of "padding" to relocate.
2016-05-22 15:35:29 -04:00
Zachary Yedidia
f9adcd525d
Add ability to bind alt keys
...
This lets you bind keys like Alt-b or Alt-f.
This commit also adds some new default keybindings in emacs style, so
alt-a is beginning of line and alt-e is end etc...
2016-05-22 15:33:40 -04:00
Zachary Yedidia
df684ec505
Store cursor and eventhandler in buffer instead of view
...
This is better design because the cursor and eventhandler are things the
buffer should know about directly but the view shouldn't. This should
make it easier to add persistent undo or location saving between
sessions (see #107 ).
2016-05-22 15:01:02 -04:00
Camille Scholtz
52f1be5725
simplify scrollmargins
2016-05-20 20:06:01 +02:00
Camille Scholtz
9791f192f8
Move scrollmargin declaration
2016-05-20 19:46:18 +02:00
Camille Scholtz
116b247439
Add scrollmargin option, rename scrollSpeed to scrollspeed for consistency, make help.md more consistent (replaced some spaces with tabs)
2016-05-20 19:44:16 +02:00
Camille Scholtz
096221fd0e
Add padding to relocate func (fixes weird scrolling behavior)
2016-05-20 17:43:26 +02:00
Camille Scholtz
bbcd33d9fd
Add a bit of "padding" to relocate
2016-05-20 17:34:20 +02:00
Zachary Yedidia
0673396335
Merge branch 'duplicate' of https://github.com/onodera-punpun/micro into onodera-punpun-duplicate
2016-05-20 09:46:54 -04:00
Zachary Yedidia
009792b6b1
Fix ctrl modifiers
2016-05-20 09:41:00 -04:00
Zachary Yedidia
3d6eba376d
Merge
2016-05-20 09:19:28 -04:00
Zachary Yedidia
ebaad9b00c
Use the new and updated version of tcell
2016-05-20 09:19:25 -04:00
Camille Scholtz
81e1a6e157
Give shortcuts more message feedback, add duplicate line option ( fixes #124 )
2016-05-20 00:04:53 +02:00
Zachary Yedidia
342149af3f
Add colorscheme to makefile syntax file
...
Closes #125
2016-05-19 07:26:10 -04:00
Zachary Yedidia
b0930a0bb8
Merge pull request #121 from onodera-punpun/case_insensitive
...
search case insensitive
2016-05-18 12:47:40 -04:00
Camille Scholtz
bfbfc50018
Add ignorecase option
2016-05-18 18:44:32 +02:00
Camille Scholtz
2a95d0b012
search case insensitive
2016-05-18 18:11:11 +02:00
aerth
17397d503e
add binding for ClearStatus
2016-05-18 07:18:14 -07:00
Zachary Yedidia
77d8a2217f
Fix selection graphics for indentchar
2016-05-18 09:33:49 -04:00
Zachary Yedidia
333c4ac6b1
Fix ordering of selection on SelectAll
...
Fixes #119
2016-05-18 09:27:17 -04:00
Zachary Yedidia
d7b61ecfa8
Fix small bug in Remove function in buffer
2016-05-17 19:57:16 -04:00
Camille Scholtz
4a38f232c0
Add copy feedback
2016-05-17 20:09:59 +02:00
Zachary Yedidia
6d394efcd9
Remove some unnecessary code
...
Fixes #104
2016-05-17 13:39:27 -04:00
Zachary Yedidia
c727775557
Merge pull request #111 from onodera-punpun/fix_jump
...
Fix jumping in rxvt-unicode when switching focus
2016-05-17 13:38:59 -04:00
Camille
baddc4107e
Change relocate from true to false
2016-05-17 19:31:36 +02:00
Zachary Yedidia
363697a657
Fix capitalization of scrollSpeed option
...
Closes #114
2016-05-17 12:53:46 -04:00
Zachary Yedidia
abddd6eecd
Merge pull request #110 from onodera-punpun/indentchar
...
Add indentation character option(s).
2016-05-17 12:37:47 -04:00
Zachary Yedidia
213bb6fabe
Fix find where the match indicies are the same
...
Fixes #113
2016-05-17 12:36:41 -04:00
Camille Scholtz
87a0c06197
Add scrollspeed option
2016-05-17 18:15:47 +02:00
Camille Scholtz
93927cf0f5
Rename indent-line to indent-char, change default value from | to
2016-05-17 18:09:49 +02:00
Camille Scholtz
266461cc72
Fix jumping in rxvt-unicode when switching focus
2016-05-17 17:53:49 +02:00
Camille Scholtz
a0d4123731
Add indent character option
2016-05-17 17:17:18 +02:00
Zachary Yedidia
3d1fb69c15
Merge
2016-05-15 13:44:30 -04:00
Zachary Yedidia
aa8944304b
Add statusline option
...
Fixes #105
2016-05-15 13:44:07 -04:00
Dante Swift
a03cacf1e7
saving now resets buffer IsModified to false
2016-05-15 00:26:36 -06:00
Zachary Yedidia
e2efc963b7
Simplify IsDirty check
2016-05-14 12:04:13 -04:00
Zachary Yedidia
29ae840413
Use rope substring instead of report
2016-05-07 10:57:40 -04:00
Zachary Yedidia
8670a03973
Add the text member back.
...
It seems rope.Report is not acting how I expected it to. I need to look
into this in more detail but for now I am adding the Text variable back
to the Buffer.
Fixes #98
2016-05-06 19:15:10 -04:00
Zachary Yedidia
aeff0f8170
Merge pull request #82 from zyedidia/plugins
...
Plugin System
2016-05-06 11:56:24 -04:00
Zachary Yedidia
ae946c5f5e
Update runtime
2016-05-06 11:55:41 -04:00
aerth
5baf2e226d
Hint at ^P and ^N after finding
2016-05-06 02:52:51 -07:00
Zachary Yedidia
31567c9e15
Add linter option
2016-05-05 12:53:28 -04:00
Zachary Yedidia
3cbb23bfbe
Add automatic linting for Go, Python, C, D, Java, Javascript, Lua
2016-05-05 12:53:27 -04:00
Zachary Yedidia
1668e91310
Add linter plugin to easily make linters
2016-05-05 12:53:27 -04:00
Zachary Yedidia
59e71a4a0c
Improved error parsing and use warnings for golint instead of errors
2016-05-05 12:53:27 -04:00
Zachary Yedidia
908bcb22ae
Have go plugin create its own options
2016-05-05 12:53:27 -04:00
Zachary Yedidia
05e2886dca
Fix build error
2016-05-05 12:53:27 -04:00
Zachary Yedidia
a262530217
Fix gutter message line counting
2016-05-05 12:53:27 -04:00
Zachary Yedidia
30c7a9c4a5
Refine gutter messages and add go build checking to go plugin
2016-05-05 12:53:27 -04:00
Zachary Yedidia
d933efc53d
Add hooks for every action that's bindable
2016-05-05 12:53:26 -04:00
Zachary Yedidia
a333f0ade2
Add default plugins, and install go plugin by default
2016-05-05 12:53:26 -04:00
Zachary Yedidia
603cec9d81
Load plugins from ~/.config/micro/plugins
2016-05-05 12:53:07 -04:00
Zachary Yedidia
eba820a9c7
Rewrite gofmt and goimports as plugins
2016-05-05 12:53:07 -04:00
Zachary Yedidia
e05e993e25
Interface with plugin.lua file
2016-05-05 11:31:59 -04:00
Zachary Yedidia
87d9221a73
Small optimization
2016-05-05 11:23:20 -04:00
Zachary Yedidia
f6dc983823
Optimization for buffer text
...
We no longer store a string representation of the buffer and instead
directly access it through the rope
2016-05-04 12:43:17 -04:00
Zachary Yedidia
c163aaa895
Small fix to relocation
2016-05-04 07:24:33 -04:00
aerth
896ade2041
Add Ctrl+L jump to line #, JumpLine()
...
Converts input to integer
Returns error if any
Only jumps to possible lines
Returns number of lines available
2016-05-04 07:48:28 -07:00
Zachary Yedidia
5aace36618
Update screenshot and status line
2016-05-03 18:54:01 -04:00
Zachary Yedidia
cf2db5dfe7
Add R syntax file
...
Closes #91
2016-05-02 15:01:46 -04:00
Zachary Yedidia
07d8a08422
Use tcell's EventPaste to capture paste from the OS
...
This commit uses the recent commit to zyedidia/tcell to capture paste
events from the OS.
Fixes #60
Fixes #61
2016-05-02 11:16:03 -04:00
Zachary Yedidia
4ca6e65197
Default setting for tabsize should be float64 not int
...
Fixes #92
2016-05-02 07:23:08 -04:00
Zachary Yedidia
48a17a508d
Use hash for savedText instead of full string
2016-05-01 19:07:54 -04:00
Zachary Yedidia
efb4b5e899
Don't store buffer in text event
2016-05-01 16:45:23 -04:00
Zachary Yedidia
012668146c
Remove unnecessary check for selection
2016-04-30 16:56:48 -04:00
Zachary Yedidia
539d4b1167
Fix differences between selection with keys and with mouse
...
Fixes #89
2016-04-30 16:51:21 -04:00
Zachary Yedidia
9ad2820e5e
Change selection color in solarized colorscheme
2016-04-30 15:32:33 -04:00
Zachary Yedidia
56cdfcfe46
If a setting is not defined, use the default, not the zero value
2016-04-30 15:02:33 -04:00
Zachary Yedidia
e0f20fbb55
Fix selection bugs
2016-04-30 14:06:00 -04:00
Zachary Yedidia
ebf91a7432
Constrain help text to 80 columns
2016-04-30 12:43:40 -04:00
Zachary Yedidia
f6393dd835
Use a map for settings instead of a struct
...
Using a map for the settings means that plugins will be able to create
their own settings at runtime.
2016-04-30 11:39:48 -04:00
Zachary Yedidia
18b0b3e97d
Add bindings for shiftup and shiftdown
2016-04-28 21:00:46 -04:00
Zachary Yedidia
536c96237c
Merge branch 'gutter-messages'
2016-04-27 12:33:45 -04:00
Zachary Yedidia
53249c46f5
Support different types of gutter messages
2016-04-27 12:33:33 -04:00
Zachary Yedidia
e1e441f588
Merge branch 'elementary-mouse'
2016-04-27 11:23:47 -04:00
Zachary Yedidia
cf8de5e11d
Simple support for gutter messages
2016-04-27 11:22:57 -04:00
Zachary Yedidia
80755dcf31
Improve word movement behavior
2016-04-27 10:44:36 -04:00
Zachary Yedidia
6576dcc168
Merge branch 'arrow-bindings'
2016-04-26 21:15:08 -04:00
Zachary Yedidia
8e03e20055
Minor cleanup
2016-04-26 20:18:56 -04:00
Zachary Yedidia
6d2845ca35
Add mappings for ctrl keys
2016-04-26 20:14:58 -04:00
Zachary Yedidia
84a844994a
Correct word movement behavior
2016-04-26 19:53:43 -04:00
Zachary Yedidia
6c99eea610
Improve WordRight and WordLeft bindings
2016-04-26 09:58:56 -04:00
Zachary Yedidia
e00e0cfa3f
Starting to add more mappings for arrow keys
...
These mappings include Alt+arrows and Shift+arrows and Alt+Shift+arrows
This commit also switches the version of tcell that micro uses to my
fork which supports alt, shift, and ctrl + arrows.
2016-04-26 09:58:56 -04:00
Zachary Yedidia
269f15d88f
Also use KeyBackspace for deleting in prompt
...
Fixes #78
2016-04-26 09:44:08 -04:00
R. Harish Navnit
94b71931bc
Make the Home and End key presses point the cursor to the start and end of a line, respectively
2016-04-25 14:30:52 +05:30
Zachary Yedidia
0ee6be3d0f
Use methods on view instead of functions for bindings
2016-04-24 18:32:18 -04:00
Zachary Yedidia
20ab7a44ab
Relocate cursor on reOpen()
2016-04-24 17:26:42 -04:00
Zachary Yedidia
e1c1372f8f
Add check flag for search and replace
2016-04-24 17:08:40 -04:00
Zachary Yedidia
3c32253772
Fix terminal mode panic
2016-04-24 16:49:54 -04:00
Zachary Yedidia
eabf21d3ed
Use reflection for setting options
2016-04-24 15:35:16 -04:00
Zachary Yedidia
1d9d0c3a4d
Fix PageUp and PageDown bindings
...
Fixes #72 .
2016-04-24 14:40:30 -04:00
Zachary Yedidia
c903e949ef
Merge
2016-04-24 09:01:42 -04:00
Zachary Yedidia
8807ede224
Added StartOfLine and EndOfLine actions
...
This commit also adds error reporting for invalid json.
Fixes #36 .
2016-04-24 09:01:01 -04:00
Zachary Yedidia
74bd338cbc
Improve help text
2016-04-24 08:38:38 -04:00
Zachary Yedidia
1f62ff9d80
Improve help text and move to its own file
2016-04-24 08:31:42 -04:00
Zachary Yedidia
d088b7c2df
Merge pull request #71 from aerth/gofmt-2
...
gofmt-on-save redone for new bindings
2016-04-24 07:47:48 -04:00
aerth
7746952545
gofmt-on-save redone for new bindings
2016-04-24 01:48:51 +00:00
aerth
b39d383dac
cut lines into clipboard
2016-04-24 01:29:09 +00:00
Zachary Yedidia
af3715d55d
If system clipboard is unsupported, use internal clipboard instead
...
Fixes #65
2016-04-23 20:54:52 -04:00
Zachary Yedidia
77853ec6b6
Use my fork of clipboard
2016-04-23 20:52:26 -04:00
Zachary Yedidia
93c3a503ea
Use default binding for key if not specified
2016-04-23 19:03:24 -04:00
Zachary Yedidia
fa82fc2b74
Add delete key binding
...
Fixes #54
2016-04-23 18:58:02 -04:00
Zachary Yedidia
94c0f576e1
Load and save key bindings from bindings.json
2016-04-23 18:43:09 -04:00
Zachary Yedidia
2b8cc4cfce
Fix build error
2016-04-23 18:28:41 -04:00
Zachary Yedidia
2adaf68bd4
Rework the bindings as keys bound to actions
2016-04-23 18:25:08 -04:00
Zachary Yedidia
0fac02cd08
Fix SelectLine
2016-04-23 14:02:20 -04:00
Zachary Yedidia
7281cdbadd
Fix autoindent setting
2016-04-23 08:56:45 -04:00
Zachary Yedidia
7365f0f785
Fix selection highlighting
2016-04-22 19:31:50 -04:00
Zachary Yedidia
3d76898afe
Fix elementary mouse issue
...
Fixes #34
This commit requires a modification to tcell before it will work.
2016-04-22 19:12:32 -04:00
Zachary Yedidia
fedb8b03da
Fix horizontal scrolling
...
Fixes #59
2016-04-22 18:50:01 -04:00
aerth
23248c3a6f
Add ruler to possibleSettings
2016-04-22 20:15:38 +00:00
aerth
0440ca45cd
Toggle line numbers
2016-04-22 20:02:26 +00:00
Zachary Yedidia
acabfcb8bb
Expand ~ in file opening
2016-04-22 09:23:01 -04:00
Zachary Yedidia
15dbf37154
Possible fix for elementary mouse issue
2016-04-22 09:11:44 -04:00
Zachary Yedidia
568f638e70
Add nicer deleting for soft tabs
2016-04-21 19:15:46 -04:00
Zachary Yedidia
77caf5878d
Fix windows binary links
...
Fixes #47
2016-04-21 07:05:15 -04:00
Zachary Yedidia
6d3344e4bd
Add auto indent
2016-04-20 21:47:52 -04:00
Zachary Yedidia
6aab17f445
Set last visual x after SetLoc is called
...
Fixes #46
2016-04-20 20:03:53 -04:00
Zachary Yedidia
3b4521e9c6
Remove unused syntax highlighting code and optimize IsDirty()
2016-04-20 13:52:10 -04:00
Zachary Yedidia
89493a3e80
Merge
2016-04-20 12:50:36 -04:00
Zachary Yedidia
b5b84d9068
Don't adjust mouse coordinates
...
Fixes #23
2016-04-20 12:50:13 -04:00
Zachary Yedidia
4f6a6866d1
Set encoding fallback to ASCII
...
See #45
2016-04-20 07:23:16 -04:00
Zachary Yedidia
0d1ba36044
Merge
2016-04-19 21:33:30 -04:00
Zachary Yedidia
65745a6b43
Much improved terminal mode (Ctrl-b)
...
This commit splits "Boss mode" into to different actions. Executing
a command with Ctrl-b will now open an interactive terminal. If you
would simply like to execute a background job in the shell, press
Ctrl-e and then type `run shell-command`.
2016-04-19 21:25:13 -04:00
Zachary Yedidia
9603baa6ec
Merge pull request #44 from aerth/fork1
...
stdout and stderr buffers for command execution
2016-04-19 19:03:30 -04:00
Zachary Yedidia
c767b3dc0c
Add OpenBuffer() function to View
...
Fixes #43
2016-04-19 18:58:52 -04:00
aerth
838a932dd9
stdout and stderr buffers for command execution
2016-04-19 19:49:43 +00:00
Zachary Yedidia
4305c71f6a
Use a buffer for help screen
...
Fixes #24
2016-04-19 13:58:02 -04:00
Zachary Yedidia
2355f2fa51
Use variadic args for messenger Message and Error
...
Closes #41
2016-04-19 13:45:24 -04:00
Zachary Yedidia
87108bfed8
Add -version option
...
Fixes #33
2016-04-19 13:40:30 -04:00
Zachary Yedidia
f0ad01d1ec
Add option to save and quit
...
Fixes #40
2016-04-19 13:16:08 -04:00
aerth
54f00cb937
shell command output is held in buffer until completion
2016-04-19 13:40:05 +00:00
aerth
f3e9271cae
boss mode: Single line output stays in messenger, multiline output goes to a help-style screen
2016-04-19 05:10:53 +00:00
aerth
bbe78fbdff
Display nonblank output on full screen
2016-04-19 04:53:56 +00:00
aerth
a2ca47a496
Boss mode
2016-04-19 04:33:54 +00:00
Zachary Yedidia
c264fec472
Fix end key behavior
...
Fixes #28
2016-04-18 21:24:15 -04:00
Zachary Yedidia
aa129c1ddf
Add support for other encodings
2016-04-18 17:10:47 -04:00
Zachary Yedidia
d10c401a97
Change the help binding to Ctrl-g from Ctrl-h
...
This is necessary because some terminals send Backspace and Ctrl-h as
the same key, so Ctrl-h must be reserved for deleting. See #8 .
2016-04-18 16:28:53 -04:00
Zachary Yedidia
fdceddefe1
Fix IsDirty
2016-04-18 16:13:49 -04:00
Zachary Yedidia
4428d893b5
More comments and a slight optimization for syntax file loading
2016-04-18 16:12:34 -04:00
Zachary Yedidia
47c32dda22
Major optimization for loading syntax files
2016-04-18 14:40:07 -04:00
Zachary Yedidia
273401d911
Optimization for IsDirty()
2016-04-18 14:20:40 -04:00
Zachary Yedidia
84d353838c
Add bindings for Home and End keys
...
See #21
2016-04-18 14:02:39 -04:00
Zachary Yedidia
c7f8584d84
Add tabsToSpaces option
2016-04-18 13:01:39 -04:00
Zachary Yedidia
fa7808b4ae
Prevent panic if mouse y coordinate is below 0
...
See #7
2016-04-18 11:54:32 -04:00
Zachary Yedidia
cc222b67ec
Automatically create ~/.config or if it does not exist
2016-04-18 10:36:41 -04:00
Zachary Yedidia
8dee0ad2d5
Use XDG_CONFIG_HOME for configuration directory
...
Fixes #18
2016-04-18 10:31:19 -04:00
Zachary Yedidia
63ce8bcfce
Create ~/.micro if it does not exist
2016-04-18 09:40:27 -04:00
Zachary Yedidia
8656335da4
Embed runtime files in the go binary
2016-04-18 09:35:53 -04:00
aerth
337f162360
now is go gettable and updated make file
2016-04-18 10:59:41 +00:00