Zachary Yedidia
037c3c993f
Add clipboard support for multicursors
...
Fixes #1721
2020-07-04 21:26:36 -04:00
Zachary Yedidia
cf86f6848f
Don't set fastdirty base if modified
2020-07-04 20:09:44 -04:00
Zachary Yedidia
f143418267
Add support for copy-paste via OSC 52
...
Ref #1754
2020-07-04 20:00:39 -04:00
Zachary Yedidia
5f62f550f3
Add more functions to customize status bar
...
Adds `status.lines`, `status.vcol`, `status.bytes`, `status.size`,
and exposes some functions from go-humanize to plugins.
Ref #1727
2020-06-24 17:19:42 -04:00
Zachary Yedidia
37c754c7c7
Treat CRLF as LF when inserting text
...
In effect, pasting text with \r\n will remove the \r character and
delegate whether or not the file will be saved with CRLF or LF line
endings to the `fileformat` option.
Ref #1742
2020-06-23 17:17:22 -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
f5dc0a51ba
Fix issue with search and replace at the end of a range
2020-06-18 16:38:10 -04:00
Zachary Yedidia
cfc595e80e
Fix MoveLines on last line of buffer
...
Fixes #1723
Fixes #1724
2020-06-12 15:16:27 -04:00
Zachary Yedidia
466889f540
Fix fileformat for newly created files
...
Fixes #1575
2020-06-06 15:56:13 -04:00
Zachary Yedidia
b473fe458d
Merge
2020-06-03 00:27:51 -04:00
Zachary Yedidia
8cf56bfc56
Up arrow on first line brings to start
...
Fixes #1701
2020-06-03 00:27:24 -04:00
Zachary Yedidia
3fc9a8ad9e
Fix handling of +LINE:COL syntax
...
Fixes #1685
2020-05-29 22:48:23 -04:00
Zachary Yedidia
b05d3a5193
Slightly improve performance for very long lines
2020-05-29 15:31:13 -04:00
Zachary Yedidia
eeab114ed5
Add parsecursor option for file:line:col syntax
...
This option is disabled by default, and when enabled causes micro
to parse `:line:col` as a location for the cursor rather than
as part of the filename.
Closes #1650
Closes #1685
2020-05-29 14:55:24 -04:00
Zachary Yedidia
8956448fca
UpdateRules after save is successful
2020-05-28 13:06:29 -04:00
Zachary Yedidia
0064b8268f
Improve unicode line array test
2020-05-20 19:53:54 -04:00
Zachary Yedidia
79c0ea17ad
Use CharacterCount over RuneCount
2020-05-20 16:47:08 -04:00
Zachary Yedidia
bdff221870
Use DecodeCharacter over DecodeRune
2020-05-20 16:43:12 -04:00
Zachary Yedidia
a491dd1c52
Merge branch 'buffer-benchmarks' of https://github.com/p-e-w/micro into p-e-w-buffer-benchmarks
2020-05-20 15:28:36 -04:00
dmaluka
a150eef6f9
Fix end line number in HighlightMatches ( #1662 )
...
There is a bit of mess in the usage of HighlightMatches: in some places
we assume that it updates lines from startline to endline inclusive,
in other places we assume it's non-inclusive.
This fix makes it always inclusive.
In particular, it fixes a bug: when we open a file which has no
newline at the end, the last line isn't highlighted.
2020-05-17 16:05:34 -04:00
Zachary Yedidia
eff89a98a7
Fix v2 import path for go mod
2020-05-04 10:16:15 -04:00
Zachary Yedidia
7a23878250
gofmt
2020-04-30 00:54:02 -04:00
Ján Jančár
f0da73bae2
Add StartOfTextToggle and SelectToStartOfTextToggle actions. ( #1612 )
...
These actions reintroduce the behavior of micro where the Home key
toggles between the start of text (first) and the start of the line.
The same applies for the variant with selection. This commit also
sets these bindings as the defaults.
2020-04-10 17:21:02 -04:00
Zachary Yedidia
48ca19873f
Better ordering for reading syntax files
...
Ref #1580
2020-03-24 10:52:15 -04:00
Philipp Emanuel Weidmann
d038d3040f
Add more sophisticated buffer benchmark system
2020-03-01 13:20:10 +05:30
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
8a9a14562f
Use bytes.Buffer for LineArray.Bytes
2020-02-27 11:27:00 -05:00
Zachary Yedidia
a6f5dee45c
Fix custom syntax files not highlighting
...
Fixes #1530
2020-02-27 00:58:52 -05:00
Zachary Yedidia
b12886b066
Improve buffer test
2020-02-25 23:59:27 -05:00
Zachary Yedidia
56f5b475eb
Improve buffer test
2020-02-25 23:21:50 -05:00
Zachary Yedidia
e4bf1e9984
Undo event chunks instead of single events
2020-02-25 20:53:48 -05:00
Zachary Yedidia
53bda0cfa7
Fix buffer tests and selection bug
...
Fixes #1528
Ref #1526
2020-02-25 20:24:02 -05:00
Zachary Yedidia
f059541e0d
Merge branch 'buffer-tests' of https://github.com/p-e-w/micro into buffer-unit-tests
2020-02-25 10:30:31 -05:00
Zachary Yedidia
d78fe81e21
line_array insert for eofnewline and make default
...
Makes the `eofnewline` option enabled by default.
Fixes #1525
2020-02-24 22:31:05 -05:00
josh
25b9342fbe
fix eofnewline not running on files with 1 rune ( #1535 )
2020-02-24 22:26:51 -05:00
Zachary Yedidia
70bcf9f618
Fix text transformation bug
...
This fixes the remaining text transformation tests.
Ref #1526
2020-02-24 20:11:11 -05:00
Zachary Yedidia
dff8b33e9c
Apply basename option in tabbar as well
2020-02-24 13:48:37 -05:00
Zachary Yedidia
0174d7dba4
Move multi-cursors correctly after newlines
...
Fixes #1527
2020-02-24 13:39:34 -05:00
Philipp Emanuel Weidmann
f0cdc3cabb
Add buffer test and benchmark suite (and tool to generate it)
2020-02-22 08:51:38 +05:30
Zachary Yedidia
2ef4f83358
Fix issue with simultaneous buffers
2020-02-19 17:40:54 -05:00
Zachary Yedidia
a9120ce270
Share more buffer elements and fix rehighlight
...
Fixes #1521
2020-02-19 14:41:30 -05:00
Zachary Yedidia
38f88ade60
Search and replace within a selection
...
Closes #1098
2020-02-13 19:48:48 -05:00
Zachary Yedidia
30ed25859a
Support regex capture groups in replace command
...
See https://golang.org/pkg/regexp/syntax/ for the
supported syntax. Here are some examples:
```
replace "(foo)" "$1-bar"
replace "(foo)" "${1}-bar"
replace "(?P<group>foo)" "$group-bar"
replace "(?P<group>foo)" "$group-bar"
replace "(?P<key>\w+):\s+(?P<value>\w+)$" "$key=$value"
```
Closes #1115
2020-02-13 16:05:56 -05:00
Zachary Yedidia
ea290e4fb5
Merge branch 'bug-endless-reload-prompt' of https://github.com/jawahars16/micro into jawahars16-bug-endless-reload-prompt
2020-02-12 13:56:00 -05:00
Zachary Yedidia
e7ef81ed97
Share hash across equivalent buffers for fastdirty=off
2020-02-12 13:32:42 -05:00
Zachary Yedidia
7b5bc8fe37
Fix issue with global/local settings
2020-02-12 13:18:59 -05:00
Zachary Yedidia
bad78797bb
Clicking tabbar arrow scrolls and fix multicursor
...
Closes #1503
2020-02-12 13:05:15 -05:00
Zachary Yedidia
6588f02f7b
Only highlight matching brace if one is found
...
Fixes #1505
2020-02-12 01:32:23 -05:00
Zachary Yedidia
7d47659481
Fix deleteLines off-by-one error
...
Fixes #1501
2020-02-12 01:16:11 -05:00
Zachary Yedidia
8224037080
Don't block when redraw channel becomes full
...
Fixes #1497
2020-02-11 20:03:32 -05:00
Zachary Yedidia
695d4c2b1b
Use filepath.Join more
2020-02-11 13:09:17 -05:00
Zachary Yedidia
848bd1ba8c
Fix rehighlight for retab
2020-02-10 14:49:08 -05:00
Zachary Yedidia
bdf9e6d3a4
Merge branch 'diff-gutter' of https://github.com/p-e-w/micro
2020-02-10 00:28:43 -05:00
Zachary Yedidia
3ed77dbb2e
Sanitize inputs to insert and remove
2020-02-10 00:18:08 -05:00
Zachary Yedidia
6f424f3213
Properly flush bufio writer
2020-02-09 15:36:31 -05:00
Zachary Yedidia
e110e93e0f
Improve disk performance with buffered io
2020-02-09 15:21:23 -05:00
Zachary Yedidia
8ddf335e68
Improve remove performance
2020-02-09 14:58:37 -05:00
Zachary Yedidia
ca9d102267
Start insert performance improvements
2020-02-09 14:30:20 -05:00
Zachary Yedidia
13e30a63eb
Minor improvements
2020-02-09 00:40:50 -05:00
Zachary Yedidia
ce91e41e5a
Update third party licenses
2020-02-09 00:03:03 -05:00
Zachary Yedidia
b77980082c
Fix to allow readonly to be disabled
2020-02-08 19:37:37 -05:00
Zachary Yedidia
57c34e2248
More plugin docs and improve doc formatting
2020-02-08 18:31:06 -05:00
Zachary Yedidia
6514b77e0d
Enable autosave option
...
The autosave option is now specified as an integer, which denotes
the number of seconds to wait between saving the file. If the option
is 0, then autosaving is disabled. If the option is given by the user
as a boolean, it will be converted to 8 if true, and 0 if false.
Fixes #1479
2020-02-08 16:53:08 -05:00
Philipp Emanuel Weidmann
de33eac058
Add diff gutter
2020-02-08 13:26:24 +05:30
Zachary Yedidia
6a1b8f4a4f
Add option to clean unused settings and other parts of config
2020-02-02 15:30:06 -05:00
Zachary Yedidia
b0624cb66e
Add support for plugin manager within micro
2020-02-02 14:20:39 -05:00
Zachary Yedidia
d94b81b8e6
Synchronize undo and redo chunks
...
Fixes #1372
Fxies #1471
2020-02-02 00:14:56 -05:00
Zachary Yedidia
f731e422ea
Improve lua interface
2020-01-31 14:21:27 -05:00
Zachary Yedidia
e3131a0779
Add text event callback
2020-01-31 00:56:15 -05:00
Zachary Yedidia
953f5a0eff
Highlight in parallel
2020-01-28 20:54:14 -05:00
Zachary Yedidia
477bdb3dc8
Empty highlighting for unknown filetypes
2020-01-28 18:34:44 -05:00
Zachary Yedidia
d74f40882d
Don't rehighlight if there are no modifications
2020-01-28 17:15:02 -05:00
Zachary Yedidia
97ee344268
Fix some issues with syntax highlighting regions
...
Fixes #1464
2020-01-20 23:43:47 -05:00
Zachary Yedidia
b3e40a2644
Make debug mode flag, plugins can access logbuf
2020-01-15 22:25:08 -05:00
Zachary Yedidia
17f0eb80cd
Readonly should only apply to default buffers
...
Ref #1298
2020-01-15 20:09:17 -05:00
Zachary Yedidia
6c3814dfac
Better message for gob error
2020-01-05 12:45:27 -05:00
Bonnie
c2c0325384
Fix #1383 : "Save with Sudo" rewrite ( #1424 )
...
* Rewrite save with sudo (Fixes #1383 )
* Combine overrideFile & overrideFileAsRoot into 1 function
2020-01-03 17:39:12 -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
9333354fc8
Fix save with sudo on mac
2020-01-02 01:25:00 -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
3b66a3364c
Fix some formatting
2019-12-29 22:02:14 -05:00
Zachary Yedidia
bd83c6a8a9
Remove detect requirement and detect in jinja file
...
Ref #1415
2019-12-28 22:27:44 -05:00
Zachary Yedidia
5b52b8a60f
Support includes
2019-12-28 21:57:03 -05:00
Zachary Yedidia
a61616d79e
More efficient loading for default syntax files
...
This change introduces header files for syntax files. The header
files only contain the filetype and detection info and can be
parsed much faster than parsing a full yaml file. To determine
which filetype a file is, only scanning the headers is necessary
and afterwards only one yaml file needs to be parsed. Use the
make_headers.go file to generate the header files. Micro expects
that all default syntax files will have header files and that
custom user syntax files may or may not have them. Resolving
includes within syntax has not yet been implemented. This
optimization improves startup time.
Ref #1427
2019-12-28 21:26:22 -05:00
Zachary Yedidia
6681387b47
Support for file reloading if changed externally
2019-12-26 17:59:23 -05:00
Zachary Yedidia
8570ff9a8c
Remove autosave option
...
With the new backup option, the autosave option is no longer useful.
Since it never really worked well in the first place, it has been
removed.
Closes #1420
2019-12-26 14:35:48 -05:00
Zachary Yedidia
b527e4fe42
Reoragnize slightly
2019-12-25 17:05:11 -05:00
Zachary Yedidia
3f22501b1a
Improved save with sudo
2019-12-25 17:05:11 -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
e42cf3663b
Backup support
2019-12-25 17:05:11 -05:00
Zachary Yedidia
a86a6c464e
Start implementing backup system
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
3d40e91690
Add log and plugin list command
2019-12-25 17:05:11 -05:00
Zachary Yedidia
d1e713ce08
Add better matchbrace
2019-12-25 17:05:11 -05:00
Zachary Yedidia
c0293b5d0e
Add autosave option
2019-12-25 17:05:11 -05:00
Zachary Yedidia
ccb5904591
Add mkparents option
2019-12-25 17:05:11 -05:00
Zachary Yedidia
9eed8bc247
Remove local settings
2019-12-25 17:05:11 -05:00
Zachary Yedidia
4027081e0e
Add linter plugin support
2019-12-25 17:05:10 -05:00
Zachary Yedidia
e3ae38e54a
Autoclose plugin support
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
809b95d290
Add reset command and statusline format string options
2019-12-25 17:05:10 -05:00
Zachary Yedidia
8d85cae4c0
Add autocomplete
2019-12-25 17:05:10 -05:00
Zachary Yedidia
7cd5024e34
Small fixes
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
aa774164a7
Fix relocate bug
2019-12-25 17:05:10 -05:00
Zachary Yedidia
c93d7a1b35
Add hidehelp support
2019-12-25 17:05:10 -05:00
Zachary Yedidia
adfeaf52ba
Fix serialization
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
0612af1590
Change project layout and use go.mod
2019-12-25 17:05:10 -05:00