Zachary Yedidia
0efc919f24
Merge
2021-08-02 21:06:28 -04:00
Zachary Yedidia
c315a91fc6
Allow aborting while opening a file with backup
...
Also fixes an issue where the abort prompt consumes interrupt signals.
Fixes #2151
2021-08-02 21:05:22 -04:00
Ali Kefia
4a2a72983f
Search the last match on line when search back ( #2156 )
2021-07-13 23:37:22 -04:00
Zachary Yedidia
0b0c99f1f5
Warn for readonly instead of setting option
...
Fixes #2106
2021-05-19 14:58:00 -04:00
Dmitry Maluka
6d13710d93
Implement moving cursor up/down within a wrapped line
...
Modified behavior of CursorUp, CursorDown, CursorPageUp etc:
if softwrap is enabled, cursor moves by visual lines, not logical lines.
TODO: implement it also for Home and End keys: move cursor to the
visual start or end of a line. I haven't implemented it for now, because
I'm not sure what should be the behavior of StartOfTextToggle then
(considering that Home key is bound to StartOfTextToggle by default).
Fixes #1598
2021-04-08 23:54:02 +02:00
Dmitry Maluka
a1651aec2f
Fix horizontal scrolling issue after toggling softwrap on/off
...
Fixes #645
2021-04-08 23:53:44 +02:00
Dmitry Maluka
1f73f8587c
Add buffer.WordAt ( #2070 )
...
Add buffer.WordAt function returning the word around a given location
in the buffer. Useful for plugins.
2021-04-07 16:20:39 -04:00
Dmitry Maluka
de8f4bf72f
Fix regressions in buffer settings initialization ( #2035 )
...
Fix regressions after ba98b55 :
- Unable to override filetype autodetection by setting a specific filetype
for specific files, i.e. this doesn't work:
"*.h": {
"filetype": "c++"
},
- Unable to enable/disable syntax highlighting for specific files,
i.e. this doesn't work:
"*.c": {
"syntax": false
},
- "readonly" setting doesn't work (neither global nor per-filetype).
2021-02-22 18:18:37 -05:00
Zachary Yedidia
ba98b558d9
Only initialize buffer settings once
...
Ref #2009
2021-02-07 13:14:40 -05:00
Siddhant N Trivedi
cf35b8021c
Fix some quality issues ( #1914 )
...
* Add .deepsource.toml
* Fix unnecessary typecasting on `bytes.Buffer`
* Fix check for empty string
* Replace nested if block with else-if
* Replace nested if block with else-if
* Replaced string.Replace() with string.ReplaceAll where n<0
* Remove deepsource toml file
Signed-off-by: siddhant-deepsource <siddhant@deepsource.io>
Co-authored-by: DeepSource Bot <bot@deepsource.io>
Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
2021-01-09 13:39:21 -05:00
Dmitry Maluka
57a3927f02
Don't automatically disable readonly option ( #1957 )
...
Fix the regression after 3b34a02 : setting readonly option to true
in onBufferOpen lua callback doesn't work, since it is automatically
reset to false if write permission is not denied.
2020-12-23 15:21:20 -05:00
Dmitry Maluka
e4f7f80862
Fix potential file leaks ( #1958 )
2020-12-23 15:21:01 -05:00
Zachary Yedidia
299ba2fe97
Fix stat error detection
...
Fixes #1955
2020-12-20 13:05:10 -05:00
Zachary Yedidia
3b34a021e3
Improve file permission detection
...
Mark files as readonly automatically if write permission is denied.
Display errors when opening files (except for non-existence errors).
Fixes #1224
2020-12-17 21:54:18 -05:00
Dmitry Maluka
298fa40f90
Fix buffer.RuneAt ( #1895 )
...
Fix buffer.RuneAt returning the rune not at the given location (as the
documentation claims) but just before it.
2020-10-19 20:36:14 -04:00
Sourya Vatsyayan
fc3dd9a62f
Fix quality issues ( #1856 )
...
* Add .deepsource.toml
* Remove unnecessary comparison with bool
* Remove unnecessary use of slice
* Replace multiple `append`s with one
* Remove unnecessary wrapping of function call
* Fix check for empty string
* Simplify error creation with `fmt.Errorf`
* Fix defers before error check
Signed-off-by: sourya_deepsource <sourya@deepsource.io>
* Remove untrappable `os.Kill` signal
Signed-off-by: sourya_deepsource <sourya@deepsource.io>
* Remove empty else branch
Signed-off-by: sourya_deepsource <sourya@deepsource.io>
* Add missing error check
Signed-off-by: sourya_deepsource <sourya@deepsource.io>
* Merge variable declaration and assignment
Signed-off-by: sourya_deepsource <sourya@deepsource.io>
* Remove unnecessary `nil` check
Signed-off-by: sourya_deepsource <sourya@deepsource.io>
* Revert changes to generated files
Signed-off-by: sourya_deepsource <sourya@deepsource.io>
* Remove .deepsource.toml
Signed-off-by: sourya_deepsource <sourya@deepsource.io>
Co-authored-by: DeepSource Bot <bot@deepsource.io>
Co-authored-by: deepsource-autofix[bot] <62050782+deepsource-autofix[bot]@users.noreply.github.com>
2020-09-16 00:08:01 -04:00
Zachary Yedidia
11104fd093
Update to tcell v2
2020-09-05 14:52:35 -04:00
Zachary Yedidia
f35f507832
Never backup closed buffers
2020-09-04 13:36:23 -04:00
Zachary Yedidia
102ae04a16
Improve multicursor clipboard
...
Ref #1721
2020-07-05 01:12:35 -04:00
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