Zachary Yedidia
b8fbbf5c83
Only lock event handling
2020-06-28 16:34:01 -04:00
Zachary Yedidia
253281ae5e
Add a lock for plugins to use if using async code
...
Ref #1539
2020-06-28 16:29:32 -04:00
Zachary Yedidia
be4d186a46
Close file properly in clean and update makefile
2020-06-27 17:55:01 -04:00
Zachary Yedidia
9cc7c9be2d
Fix backup call in test
2020-06-22 18:20:01 -04:00
Zachary Yedidia
a8332fd316
Improve backup system
...
This commit introduces several improvements to the backup system.
* Backups are made every 8 seconds for buffers that have been modified
since the last backup.
* The `permbackup` option allows users to specify that backups should
be kept permanently.
* `The backupdir` option allows users to store backups in a custom
directory.
Fixes #1641
Fixes #1536
Ref #1539 (removes possibility of race condition for backups)
2020-06-22 17:54:56 -04:00
Zachary Yedidia
d0b75bc09f
Add simulation screen tests
2020-06-20 18:24:12 -04:00
Zachary Yedidia
a9ca57af6e
Improve message in micro -clean
...
Ref #1736
2020-06-20 13:44:52 -04:00
Zachary Yedidia
fb258dd57a
Clean default settings in micro -clean
2020-06-18 17:22:21 -04:00
Zachary Yedidia
ead07e0b60
Expose ConfigDir and Tabs to plugins
...
Access with `micro.ConfigDir` (constant value) and `micro.Tabs()`.
2020-06-07 18:21:46 -04:00
Zachary Yedidia
140662f1ec
Verify that all settings have correct type
...
This prevents crashes that occur when the user has put the wrong
type for a setting manually in the settings.json file.
2020-06-07 17:31:16 -04:00
Zachary Yedidia
afeb07a024
More fixes for parsecursor
...
Fixes #1695
Fixes #1696
2020-05-30 12:23:29 -04:00
Zachary Yedidia
3fc9a8ad9e
Fix handling of +LINE:COL syntax
...
Fixes #1685
2020-05-29 22:48:23 -04:00
Dmitry Maluka
c5b0c2d41f
Fix dropped redraw events ( #1675 )
...
If screen.Redraw() is called very quickly after a key or mouse event,
it may send the redraw event while micro is not waiting for it but
still processing the key or mouse event. Since drawChan is non-buffered
and at the same time non-blocking, this redraw event will be simply lost,
so the screen content will not be up-to-date.
2020-05-23 14:59:23 -04:00
Zachary Yedidia
9a22d93ea2
Expose CharacterCount to plugins
2020-05-20 18:04:00 -04:00
Zachary Yedidia
eff89a98a7
Fix v2 import path for go mod
2020-05-04 10:16:15 -04:00
Zachary Yedidia
671a188802
Support +LINE:COL flag syntax for cursor pos
...
Closes #1566
2020-03-24 10:10:44 -04:00
Zachary Yedidia
9e8d76f2fa
If stdout is a pipe, output to the pipe
...
If you run micro as `micro | cat` for example, micro will disallow
you from saving the file, and when you quit the buffer, the contents
will be sent to the pipe. This allows one to use micro as part of
an interactive unix pipeline.
Closes #1524
2020-02-27 12:39:19 -05:00
Zachary Yedidia
1a64ffb88b
Don't expose draw channel to outside packages
2020-02-11 20:39:26 -05:00
Zachary Yedidia
34724b941a
Recover from internal errors without crashing
2020-02-11 00:50:24 -05:00
Zachary Yedidia
c3d120ccdf
Fix errcheck in clean
2020-02-09 00:42:16 -05:00
Zachary Yedidia
13e30a63eb
Minor improvements
2020-02-09 00:40:50 -05:00
Zachary Yedidia
8a907956d1
Use actual lua functions for callbacks instead of strings
2020-02-08 15:49:41 -05:00
Zachary Yedidia
f6a9c482a6
Allow plugins to resize panes
2020-02-05 17:16:31 -05:00
Zachary Yedidia
6e3f38b271
Add scrolling to command bar autocompletion
2020-02-02 20:17:46 -05:00
Zachary Yedidia
6a1b8f4a4f
Add option to clean unused settings and other parts of config
2020-02-02 15:30:06 -05:00
Zachary Yedidia
dba8ef2fdd
Use namespaces for plugin options
2020-02-02 14:35:30 -05:00
Zachary Yedidia
b0624cb66e
Add support for plugin manager within micro
2020-02-02 14:20:39 -05:00
Zachary Yedidia
bcb1947a0a
Add plugin manager
2020-02-01 23:54:38 -05:00
Zachary Yedidia
b0b5d7b392
Add CurPane and CurTab functions for plugins
2020-02-01 12:20:08 -05:00
Zachary Yedidia
f731e422ea
Improve lua interface
2020-01-31 14:21:27 -05:00
Zachary Yedidia
d326a9cddd
Merge
2020-01-31 00:56:20 -05:00
Zachary Yedidia
e3131a0779
Add text event callback
2020-01-31 00:56:15 -05:00
Zachary Yedidia
35e3bddea0
Modify linter and add plugin cmd
2020-01-30 17:51:04 -05:00
Zachary Yedidia
03228762d4
Don't call plugin if nil
2020-01-28 22:06:58 -05:00
Zachary Yedidia
953f5a0eff
Highlight in parallel
2020-01-28 20:54:14 -05:00
Zachary Yedidia
b3e40a2644
Make debug mode flag, plugins can access logbuf
2020-01-15 22:25:08 -05:00
Zachary Yedidia
ddc8bf455e
Set filetype to 'off' to disable completely
...
Ref #1427
2020-01-02 19:00:42 -05:00
Zachary Yedidia
0bf54ff0e7
Don't crash if only file to open is directory
2020-01-02 15:25:07 -05:00
Zachary Yedidia
a2f7080602
Raw event support with new tcell
2019-12-31 22:34:43 -05:00
Zachary Yedidia
0301e3539e
Use upstream updated zyedidia tcell
2019-12-31 20:15:45 -05:00
Zachary Yedidia
6632ab0a77
Switch to gdamore/tcell
2019-12-31 17:53:16 -05:00
Zachary Yedidia
ff24ad5fa8
Fix race condition with events channel
2019-12-29 18:53:59 -05:00
Zachary Yedidia
f3778baaf4
SetGlobalOption access for plugins
2019-12-28 23:40:44 -05:00
Zachary Yedidia
34619e111f
Add GetGlobalOption access for plugins
2019-12-28 22:48:38 -05:00
Zachary Yedidia
fc706bc404
No backups for no name files
2019-12-25 17:05:11 -05:00
Zachary Yedidia
c4d5d7c195
Better backup behavior
2019-12-25 17:05:11 -05:00
Zachary Yedidia
5075c91fd4
Fix rebase issue
2019-12-25 17:05:11 -05:00
Zachary Yedidia
6f6b263d10
Add some plugin functions
2019-12-25 17:05:11 -05:00
Zachary Yedidia
b68461cf72
Terminal plugin callback support
2019-12-25 17:05:11 -05:00
Zachary Yedidia
7217911c3a
Add macro and QuitAll support
2019-12-25 17:05:11 -05:00
Zachary Yedidia
24eb6fee25
Add buftype access for plugins
2019-12-25 17:05:11 -05:00
Zachary Yedidia
c0293b5d0e
Add autosave option
2019-12-25 17:05:11 -05:00
Zachary Yedidia
bc6dd990e5
Improve gutter messages
2019-12-25 17:05:11 -05:00
Zachary Yedidia
9eed8bc247
Remove local settings
2019-12-25 17:05:11 -05:00
Zachary Yedidia
763e635fea
Add literate plugin support
2019-12-25 17:05:11 -05:00
Zachary Yedidia
fc4811c1ab
Add comment plugin support
2019-12-25 17:05:10 -05:00
Zachary Yedidia
be136a4648
Full extensible linter support
2019-12-25 17:05:10 -05:00
Zachary Yedidia
4027081e0e
Add linter plugin support
2019-12-25 17:05:10 -05:00
Zachary Yedidia
e7e0272968
Jobs and gutter messages for plugins
2019-12-25 17:05:10 -05:00
Zachary Yedidia
e3ae38e54a
Autoclose plugin support
2019-12-25 17:05:10 -05:00
Zachary Yedidia
576036f251
Update ftoptions and statusline plugin configuration options
2019-12-25 17:05:10 -05:00
Zachary Yedidia
55e33badd0
Add readonly option
2019-12-25 17:05:10 -05:00
Zachary Yedidia
bf15f5c585
Support filetype option as command line option
2019-12-25 17:05:10 -05:00
Zachary Yedidia
aa305c2676
Implement buffer opening at a location
2019-12-25 17:05:10 -05:00
Zachary Yedidia
f5f4154d4c
Fix some search bugs
2019-12-25 17:05:10 -05:00
Zachary Yedidia
3335f377a9
Some plugin callbacks
2019-12-25 17:05:10 -05:00
Zachary Yedidia
5ab6c9795f
Load plugins
2019-12-25 17:05:10 -05:00
Zachary Yedidia
15dff722b0
Remove plugin manager
2019-12-25 17:05:10 -05:00
Zachary Yedidia
a2b9acd153
Some plugin manager improvements
2019-12-25 17:05:10 -05:00
Zachary Yedidia
4497daaef1
Resolve versions in plugin manager
2019-12-25 17:05:10 -05:00
Zachary Yedidia
0612af1590
Change project layout and use go.mod
2019-12-25 17:05:10 -05:00
Zachary Yedidia
c7f2c9c704
More plugin manager work
2019-12-25 17:05:10 -05:00
Zachary Yedidia
f4a3465a08
Start plugin support and plugin manager
2019-12-25 17:05:10 -05:00
Zachary Yedidia
453e96358a
Fix option flags
2019-12-25 17:05:10 -05:00
Zachary Yedidia
b97ded9058
Fix view relocate bug
2019-12-25 17:05:10 -05:00
Zachary Yedidia
253790de99
Sort suggestions and cycle back
2019-12-25 17:05:10 -05:00
Zachary Yedidia
ef18fc572c
Add more option support
2019-12-25 17:05:10 -05:00
Zachary Yedidia
0e4faf108d
Finish autocomplete
2019-12-25 17:05:10 -05:00
Zachary Yedidia
ad487807a5
Remove chardet dependency
2019-12-25 17:05:10 -05:00
Zachary Yedidia
ad50d7aa56
Add reopen cmd and other encodings support
2019-12-25 17:05:10 -05:00
Zachary Yedidia
ef3f081347
Add colorcolumn
2019-12-25 17:05:10 -05:00
Zachary Yedidia
bc1d6b6f94
Add more infobar autocomplete
2019-12-25 17:05:10 -05:00
Zachary Yedidia
fc7058d47c
Add infobar autocomplete
2019-12-25 17:05:10 -05:00
Zachary Yedidia
ab37e6ad6c
Add support for binding command and command-edit
2019-12-25 17:05:10 -05:00
Zachary Yedidia
4bdf788091
Add replace all alias
2019-12-25 17:05:10 -05:00
Zachary Yedidia
8c687e8279
Support raw pane
2019-12-25 17:05:10 -05:00
Zachary Yedidia
9336e09532
Revert "Use byte slice for insert"
...
This reverts commit 0c844c2f5b83fda87711cbdefcad47f810d673b3.
2019-12-25 17:05:10 -05:00
Zachary Yedidia
069f7d20bc
Add save and save as
2019-12-25 17:05:10 -05:00
Zachary Yedidia
212b0f8c71
Add keymenu
2019-12-25 17:05:10 -05:00
Zachary Yedidia
254b892a3b
Fix multi cursor relocate
2019-12-25 17:05:10 -05:00
Zachary Yedidia
1a710272f8
Prompt trim fix
2019-12-25 17:05:10 -05:00
Zachary Yedidia
a3885bfb12
Add search and replace
2019-12-25 17:05:10 -05:00
Zachary Yedidia
df968db5a3
Proper help toggle
2019-12-25 17:05:10 -05:00
Zachary Yedidia
538f0117bc
Fix yn callback bug
2019-12-25 17:05:10 -05:00
Zachary Yedidia
4a5b759f16
Fix fileformat
2019-12-25 17:05:10 -05:00
Zachary Yedidia
3380170af8
Add retab
2019-12-25 17:05:10 -05:00
Zachary Yedidia
467d384789
Add more actions
2019-12-25 17:05:10 -05:00
Zachary Yedidia
1563ab93dd
Use byte slice for insert
2019-12-25 17:05:10 -05:00
Zachary Yedidia
812c7761dc
Correct infobar and statusline options
2019-12-25 17:05:10 -05:00
Zachary Yedidia
055fff2b08
Fix redraw
2019-12-25 17:05:10 -05:00