Dmitry Maluka
965e43ebf1
Implement word wrapping
...
Fixes #264
Fixes #1644
2021-04-08 23:54:10 +02:00
Dmitry Maluka
f2613eeb3b
Simplify LocFromVisual implementation
...
Now that we have LocFromVLoc, we can radically simplify the code of LocFromVisual.
Less duplication, less potential bugs.
2021-04-08 23:54:06 +02: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
0487db8b99
Fix horizontal scrolling with a wide rune at the right edge of window
2021-04-08 23:53:53 +02:00
Dmitry Maluka
cd7ab640c5
Fix displaying incomplete tab or wide rune at the right edge of window
...
Fix displaying tabs and wide runes which don't fit in the window.
Don't overwrite the vertical divider and the adjacent window.
- For tabs: display only as many of the tab's spaces as fit in the window.
- For wide runes: if a rune doesn't fit, don't display it in this line at all.
If softwrap is on, display this rune in the next line.
Fixes #1979
2021-04-08 23:53:49 +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
c960c93a83
Add BufWidth and BufHeight
...
Fixes issue with the usage of a slightly incorrect buffer height value
(v.Height should be v.Height-1 if statusline is displayed).
Also, to avoid too many duplications, the code reorganized a little:
buffer display params (width, height, gutter offset and others) are
calculated in a single place.
2021-04-08 23:53:40 +02:00
Dmitry Maluka
c5798b5b8c
Fix softwrap scrolling issues ( #1981 )
...
Softwrap implementation enhanced to fix various issues with scrolling,
centering, relocating etc.
The main idea is simple: work not with simple line numbers but
with (Line, Row) pairs, where Line is a line number in the buffer
and Row is a visual line (a row) number within this line.
The logic remains mostly the same, but simple arithmetic operations
on line numbers are replaced with corresponding operations on
(Line, Row) pairs.
Fixes #632 , #1657
2021-04-07 16:18:51 -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
Dmitry Maluka
c7e72220dd
Add scrollbar color group ( #1840 )
...
Ref #1837
2020-08-23 15:45:43 -04:00
Dmitry Maluka
1f58eecf3c
Lower priority of cursorline and colorcolumn highlighting ( #1697 )
...
Fixes #1665
2020-06-08 16:15:54 -04:00
Dmitry Maluka
63900cb395
Fix highlighting at the end of line ( #1705 )
...
Fixes #1664
2020-06-04 23:32:31 -04:00
Colin Hughes
00edf0207f
Added hybrid line numbers ( #1690 )
...
* Added hybrid line numbers
* Changed rulerhybrid to relativeruler, modified documentation accordingly.
* Reverted go.mod and go.sum
I don't know how they got changed but they are good now.
Co-authored-by: Colin Hughes <semilin@pop-os.localdomain >
2020-05-28 22:24:09 -04:00
Zachary Yedidia
bfe68b1626
Allow divider customization with divchars option
...
Adds the `divchars` and `divreverse` options to customize divider
styles.
2020-05-21 14:35:54 -04:00
Zachary Yedidia
bdff221870
Use DecodeCharacter over DecodeRune
2020-05-20 16:43:12 -04:00
Zachary Yedidia
eff89a98a7
Fix v2 import path for go mod
2020-05-04 10:16:15 -04:00
Zachary Yedidia
eb7189dcdb
Make cursor follow selections
...
Fixes #1624
2020-04-21 09:33:21 -04:00
Zachary Yedidia
8f5888e7bf
Use StartCol in colorcolumn calculation
...
Fixes #1615
2020-04-10 17:27:11 -04:00
Zachary Yedidia
60c8c81da3
Relocate during replace
...
Fixes #1587
2020-03-24 11:33:52 -04:00
Zachary Yedidia
a9120ce270
Share more buffer elements and fix rehighlight
...
Fixes #1521
2020-02-19 14:41:30 -05:00
Zachary Yedidia
cc994b6241
Fix relocation with softwrap on small buffers
...
Fixes #1512
2020-02-15 15:38:20 -05:00
Zachary Yedidia
38f88ade60
Search and replace within a selection
...
Closes #1098
2020-02-13 19:48:48 -05:00
Zachary Yedidia
a07ee26b05
Fix gutter offset when softwrap is enabled
2020-02-13 11:04:10 -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
dcd4bae96f
Clamp modifications
...
Fixes #1502
2020-02-12 00:55:52 -05:00
Zachary Yedidia
8224037080
Don't block when redraw channel becomes full
...
Fixes #1497
2020-02-11 20:03:32 -05:00
Philipp Emanuel Weidmann
de33eac058
Add diff gutter
2020-02-08 13:26:24 +05:30
Zachary Yedidia
09ea82c97e
Disable current line num style if no cursorline
2020-02-02 00:34:28 -05:00
Zachary Yedidia
2598d8ad70
Update colorschemes and add new ones
...
This commit updates the colorschemes and adds some new ones:
* gotham (https://github.com/novln/micro-gotham-colors )
* monokai-dark (https://github.com/Theodus/micro-monokai-dark )
* one-dark (https://github.com/joseluisq/micro-one-dark )
* sunny-day (https://github.com/dwwmmn/micro-sunny-day )
2020-01-31 15:05:55 -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
c7f36f9480
Don't indent softwrap if ruler is off
...
Ref #1450
2020-01-05 20:32:29 -05:00
Zachary Yedidia
955bde4abc
Minor view fix
2020-01-05 15:02:52 -05:00
Zachary Yedidia
6d0128059b
Finish support for a fake cursor
2020-01-01 22:40:51 -05:00
Zachary Yedidia
d6dd838abd
Better support for fake cursor
2020-01-01 21:29:18 -05:00
Zachary Yedidia
d9e262c394
Use fake cursor for windows
2020-01-01 20:47:05 -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
f8218e0648
Fix bottomline when softwrap enabled
2019-12-25 19:44:58 -05:00
Zachary Yedidia
3b306c1d3b
Better softwrap
2019-12-25 17:05:11 -05:00
Zachary Yedidia
432f1f3363
Minor relocate improvement
2019-12-25 17:05:11 -05:00
Zachary Yedidia
93734f5668
Fix highlighting issue
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
a9bb1f35da
Improve selection display
2019-12-25 17:05:11 -05:00
Zachary Yedidia
04e5acb1f8
Minor highlighting fixes
2019-12-25 17:05:11 -05:00
Zachary Yedidia
88b8fc713d
Proper scrollbar location for hsplits
2019-12-25 17:05:11 -05:00
Zachary Yedidia
4dccfc095d
Add visual scroll bar
2019-12-25 17:05:11 -05:00
Zachary Yedidia
26c545267d
Support column marking in linter
2019-12-25 17:05:11 -05:00