Commit graph

505 commits

Author SHA1 Message Date
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
Zachary Yedidia
2ed62509a8 Merge pull request #150 from jtolds/master
Add CursorPageUp and CursorPageDown actions
2016-05-31 18:15:22 -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
9252be6d3b Update readme 2016-05-29 18:20:43 -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
1c127a6c3f Merge 2016-05-28 17:32:13 -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
82594b9beb Merge pull request #133 from onodera-punpun/packages
Add Arch and CRUX installation guides.
2016-05-28 15:53:48 -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
e13b856773 Remove dollar sign 2016-05-22 00:28:29 +02:00
Camille Scholtz
8a3780c695 Add Arch and CRUX installation guides 2016-05-22 00:25:49 +02: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
6eeda5d21f Merge branch 'onodera-punpun-duplicate' 2016-05-20 09:47:18 -04: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