Commit Graph

45 Commits

Author SHA1 Message Date
boombuler
fce5b81c22 exit conditional replace if no match is left 2016-09-04 09:29:26 +02:00
boombuler
98b6f63b70 fixes conditional replace
before this, conditional replace always replaces the first found
occurence of the match not the currenly selected.
Might also fix #269
2016-09-03 12:34:57 +02:00
Zachary Yedidia
00e385b871 Add show command to show the value of an option 2016-08-28 21:48:03 -04:00
Zachary Yedidia
59b7555f01 Fix various small details and update readme 2016-08-28 16:28:28 -04:00
Zachary Yedidia
1a9123630b Add support for local or global only settings 2016-08-25 15:48:02 -04:00
Zachary Yedidia
261748bd56 Add local settings for each buffer 2016-08-25 15:47:26 -04:00
Zachary Yedidia
f9cb99b35f Go plugin should disable tabstospaces if the file is go 2016-08-19 18:47:37 -07:00
Zachary Yedidia
e4b6a931de Make setting options global 2016-08-17 20:00:38 -07: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
4a0c48587a Split help into multiple files and add help command 2016-08-17 11:59:37 -04:00
Zachary Yedidia
61536326ca Fix statusline and tabbar offsets 2016-08-11 13:50:59 -04:00
Zachary Yedidia
cbbe312762 Add split_tree and ability to create splits 2016-08-11 10:45:35 -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
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
bcbef1c633 Add horizontal 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
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
40affa56c7 Create tab struct and reorganize tab bar 2016-06-08 13:26:50 -04:00
Zachary Yedidia
72f5808025 Replace rope with lineArray 2016-06-07 11:43:28 -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
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
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
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
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
eba820a9c7 Rewrite gofmt and goimports as plugins 2016-05-05 12:53:07 -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
0ee6be3d0f Use methods on view instead of functions for bindings 2016-04-24 18:32:18 -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
2b8cc4cfce Fix build error 2016-04-23 18:28:41 -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
aerth
838a932dd9 stdout and stderr buffers for command execution 2016-04-19 19:49:43 +00: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
aerth
337f162360 now is go gettable and updated make file 2016-04-18 10:59:41 +00:00