Zachary Yedidia
5e83b2c99a
Fix redraw glitch
2016-06-01 07:45:01 -04:00
Zachary Yedidia
64c0446b8d
Fix redraw glitch
2016-05-31 19:25:32 -04: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
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
19717dd3ae
Check if the file being edited has been modified by an external program
2016-05-29 17:58:06 -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
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
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
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
ebaad9b00c
Use the new and updated version of tcell
2016-05-20 09:19:25 -04:00
Zachary Yedidia
77d8a2217f
Fix selection graphics for indentchar
2016-05-18 09:33:49 -04: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
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
aa8944304b
Add statusline option
...
Fixes #105
2016-05-15 13:44:07 -04:00
Zachary Yedidia
e2efc963b7
Simplify IsDirty check
2016-05-14 12:04:13 -04:00
Zachary Yedidia
31567c9e15
Add linter option
2016-05-05 12:53:28 -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
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
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
5aace36618
Update screenshot and status line
2016-05-03 18:54:01 -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
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
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
536c96237c
Merge branch 'gutter-messages'
2016-04-27 12:33:45 -04:00