mirror of
https://github.com/zyedidia/micro.git
synced 2026-02-05 06:30:28 +09:00
Add scrollmargin option, rename scrollSpeed to scrollspeed for consistency, make help.md more consistent (replaced some spaces with tabs)
This commit is contained in:
@@ -149,7 +149,8 @@ func HandleCommand(input string, view *View) {
|
||||
if strings.Contains(flags, "c") {
|
||||
// The 'check' flag was used
|
||||
Search(search, view, true)
|
||||
view.Relocate(0)
|
||||
scrollmargin := int(settings["scrollmargin"].(float64))
|
||||
view.Relocate(scrollmargin)
|
||||
Redraw(view)
|
||||
choice, canceled := messenger.YesNoPrompt("Perform replacement? (y,n)")
|
||||
if canceled {
|
||||
|
||||
@@ -121,7 +121,8 @@ func Search(searchStr string, v *View, down bool) {
|
||||
v.Cursor.curSelection[0] = charPos + match[0]
|
||||
v.Cursor.curSelection[1] = charPos + match[1]
|
||||
v.Cursor.x, v.Cursor.y = FromCharPos(charPos+match[1]-1, v.Buf)
|
||||
if v.Relocate(4) {
|
||||
scrollmargin := int(settings["scrollmargin"].(float64))
|
||||
if v.Relocate(scrollmargin) {
|
||||
v.matches = Match(v)
|
||||
}
|
||||
lastSearch = searchStr
|
||||
|
||||
@@ -81,7 +81,8 @@ func DefaultSettings() map[string]interface{} {
|
||||
"tabsToSpaces": false,
|
||||
"ruler": true,
|
||||
"statusline": true,
|
||||
"scrollSpeed": float64(2),
|
||||
"scrollmargin": float64(3),
|
||||
"scrollspeed": float64(2),
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -205,11 +205,14 @@ func (v *View) ReOpen() {
|
||||
func (v *View) Relocate(x int) bool {
|
||||
ret := false
|
||||
cy := v.Cursor.y
|
||||
if cy < v.Topline {
|
||||
if cy < v.Topline+x && cy > x-1 {
|
||||
v.Topline = cy - x
|
||||
ret = true
|
||||
} else if cy < v.Topline {
|
||||
v.Topline = cy
|
||||
ret = true
|
||||
}
|
||||
if cy > v.Topline+v.height-1 {
|
||||
if cy > v.Topline+v.height-1-x {
|
||||
v.Topline = cy - v.height + 1 + x
|
||||
ret = true
|
||||
}
|
||||
@@ -257,6 +260,7 @@ func (v *View) HandleEvent(event tcell.Event) {
|
||||
// This bool determines whether the view is relocated at the end of the function
|
||||
// By default it's true because most events should cause a relocate
|
||||
relocate := true
|
||||
scrollmargin := int(settings["scrollmargin"].(float64))
|
||||
|
||||
switch e := event.(type) {
|
||||
case *tcell.EventResize:
|
||||
@@ -368,17 +372,17 @@ func (v *View) HandleEvent(event tcell.Event) {
|
||||
}
|
||||
case tcell.WheelUp:
|
||||
// Scroll up
|
||||
scrollSpeed := int(settings["scrollSpeed"].(float64))
|
||||
v.ScrollUp(scrollSpeed)
|
||||
scrollspeed := int(settings["scrollspeed"].(float64))
|
||||
v.ScrollUp(scrollspeed)
|
||||
case tcell.WheelDown:
|
||||
// Scroll down
|
||||
scrollSpeed := int(settings["scrollSpeed"].(float64))
|
||||
v.ScrollDown(scrollSpeed)
|
||||
scrollspeed := int(settings["scrollspeed"].(float64))
|
||||
v.ScrollDown(scrollspeed)
|
||||
}
|
||||
}
|
||||
|
||||
if relocate {
|
||||
v.Relocate(0)
|
||||
v.Relocate(scrollmargin)
|
||||
}
|
||||
if settings["syntax"].(bool) {
|
||||
v.matches = Match(v)
|
||||
|
||||
@@ -63,8 +63,8 @@ following in the `bindings.json` file.
|
||||
|
||||
```json
|
||||
{
|
||||
"CtrlY": "Undo",
|
||||
"CtrlZ": "Redo"
|
||||
"CtrlY": "Undo",
|
||||
"CtrlZ": "Redo"
|
||||
}
|
||||
```
|
||||
|
||||
@@ -72,52 +72,52 @@ Here are the defaults:
|
||||
|
||||
```json
|
||||
{
|
||||
"Up": "CursorUp",
|
||||
"Down": "CursorDown",
|
||||
"Right": "CursorRight",
|
||||
"Left": "CursorLeft",
|
||||
"ShiftUp": "SelectUp",
|
||||
"ShiftDown": "SelectDown",
|
||||
"ShiftLeft": "SelectLeft",
|
||||
"ShiftRight": "SelectRight",
|
||||
"AltLeft": "WordLeft",
|
||||
"AltRight": "WordRight",
|
||||
"AltShiftRight": "SelectWordRight",
|
||||
"AltShiftLeft": "SelectWordLeft",
|
||||
"CtrlLeft": "StartOfLine",
|
||||
"CtrlRight": "EndOfLine",
|
||||
"CtrlShiftLeft": "SelectToStartOfLine",
|
||||
"CtrlShiftRight": "SelectToEndOfLine",
|
||||
"CtrlUp": "CursorStart",
|
||||
"CtrlDown": "CursorEnd",
|
||||
"CtrlShiftUp": "SelectToStart",
|
||||
"CtrlShiftDown": "SelectToEnd",
|
||||
"Enter": "InsertEnter",
|
||||
"Space": "InsertSpace",
|
||||
"Backspace": "Backspace",
|
||||
"Backspace2": "Backspace",
|
||||
"Tab": "InsertTab",
|
||||
"CtrlO": "OpenFile",
|
||||
"CtrlS": "Save",
|
||||
"CtrlF": "Find",
|
||||
"CtrlN": "FindNext",
|
||||
"CtrlP": "FindPrevious",
|
||||
"CtrlZ": "Undo",
|
||||
"CtrlY": "Redo",
|
||||
"CtrlC": "Copy",
|
||||
"CtrlX": "Cut",
|
||||
"CtrlK": "CutLine",
|
||||
"CtrlD": "DuplicateLine",
|
||||
"CtrlV": "Paste",
|
||||
"CtrlA": "SelectAll",
|
||||
"Home": "Start",
|
||||
"End": "End",
|
||||
"PgUp": "PageUp",
|
||||
"PgDn": "PageDown",
|
||||
"CtrlU": "HalfPageUp",
|
||||
"CtrlD": "HalfPageDown",
|
||||
"CtrlR": "ToggleRuler",
|
||||
"Delete": "Delete"
|
||||
"Up": "CursorUp",
|
||||
"Down": "CursorDown",
|
||||
"Right": "CursorRight",
|
||||
"Left": "CursorLeft",
|
||||
"ShiftUp": "SelectUp",
|
||||
"ShiftDown": "SelectDown",
|
||||
"ShiftLeft": "SelectLeft",
|
||||
"ShiftRight": "SelectRight",
|
||||
"AltLeft": "WordLeft",
|
||||
"AltRight": "WordRight",
|
||||
"AltShiftRight": "SelectWordRight",
|
||||
"AltShiftLeft": "SelectWordLeft",
|
||||
"CtrlLeft": "StartOfLine",
|
||||
"CtrlRight": "EndOfLine",
|
||||
"CtrlShiftLeft": "SelectToStartOfLine",
|
||||
"CtrlShiftRight": "SelectToEndOfLine",
|
||||
"CtrlUp": "CursorStart",
|
||||
"CtrlDown": "CursorEnd",
|
||||
"CtrlShiftUp": "SelectToStart",
|
||||
"CtrlShiftDown": "SelectToEnd",
|
||||
"Enter": "InsertEnter",
|
||||
"Space": "InsertSpace",
|
||||
"Backspace": "Backspace",
|
||||
"Backspace2": "Backspace",
|
||||
"Tab": "InsertTab",
|
||||
"CtrlO": "OpenFile",
|
||||
"CtrlS": "Save",
|
||||
"CtrlF": "Find",
|
||||
"CtrlN": "FindNext",
|
||||
"CtrlP": "FindPrevious",
|
||||
"CtrlZ": "Undo",
|
||||
"CtrlY": "Redo",
|
||||
"CtrlC": "Copy",
|
||||
"CtrlX": "Cut",
|
||||
"CtrlK": "CutLine",
|
||||
"CtrlD": "DuplicateLine",
|
||||
"CtrlV": "Paste",
|
||||
"CtrlA": "SelectAll",
|
||||
"Home": "Start",
|
||||
"End": "End",
|
||||
"PgUp": "PageUp",
|
||||
"PgDn": "PageDown",
|
||||
"CtrlU": "HalfPageUp",
|
||||
"CtrlD": "HalfPageDown",
|
||||
"CtrlR": "ToggleRuler",
|
||||
"Delete": "Delete"
|
||||
}
|
||||
|
||||
```
|
||||
@@ -160,18 +160,18 @@ Here are the options that you can set:
|
||||
|
||||
default value: `default`
|
||||
Note that the default colorschemes (default, solarized, and solarized-tc)
|
||||
are not located in configDir, because they are embedded in the micro binary
|
||||
are not located in configDir, because they are embedded in the micro binary
|
||||
|
||||
The colorscheme can be selected from all the files in the
|
||||
~/.config/micro/colorschemes/ directory. Micro comes by default with three
|
||||
colorschemes:
|
||||
The colorscheme can be selected from all the files in the
|
||||
~/.config/micro/colorschemes/ directory. Micro comes by default with three
|
||||
colorschemes:
|
||||
|
||||
* default: this is the default colorscheme.
|
||||
* solarized: this is the solarized colorscheme (used in the screenshot).
|
||||
You should have the solarized color palette in your terminal to use it.
|
||||
* solarized-tc: this is the solarized colorscheme for true color, just
|
||||
make sure your terminal supports true color before using it and that the
|
||||
MICRO_TRUECOLOR environment variable is set to 1 before starting micro.
|
||||
* default: this is the default colorscheme.
|
||||
* solarized: this is the solarized colorscheme (used in the screenshot).
|
||||
You should have the solarized color palette in your terminal to use it.
|
||||
* solarized-tc: this is the solarized colorscheme for true color, just
|
||||
make sure your terminal supports true color before using it and that the
|
||||
MICRO_TRUECOLOR environment variable is set to 1 before starting micro.
|
||||
|
||||
|
||||
* `tabsize`: sets the tab size to `option`
|
||||
@@ -197,17 +197,21 @@ Here are the options that you can set:
|
||||
* `autoindent`: when creating a new line use the same indentation as the
|
||||
previous line
|
||||
|
||||
default value: `on`
|
||||
default value: `on`
|
||||
|
||||
* `ruler`: display line numbers
|
||||
|
||||
default value: `on`
|
||||
default value: `on`
|
||||
|
||||
* `statusline`: display the status line at the bottom of the screen
|
||||
|
||||
default value: `on`
|
||||
default value: `on`
|
||||
|
||||
* `scrollSpeed`: amount of lines to scroll
|
||||
* `scrollmargin`: amount of lines you would like to see above and below the cursor
|
||||
|
||||
default value: `3`
|
||||
|
||||
* `scrollspeed`: amount of lines to scroll
|
||||
|
||||
default value: `2`
|
||||
|
||||
@@ -218,15 +222,15 @@ Default plugin options:
|
||||
* `linter`: lint languages on save (supported languages are C, D, Go, Java,
|
||||
Javascript, Lua). Provided by the `linter` plugin.
|
||||
|
||||
default value: `on`
|
||||
default value: `on`
|
||||
|
||||
* `goimports`: Run goimports on save. Provided by the `go` plugin.
|
||||
|
||||
default value: `off`
|
||||
default value: `off`
|
||||
|
||||
* `gofmt`: Run gofmt on save. Provided by the `go` plugin.
|
||||
|
||||
default value: `on`
|
||||
default value: `on`
|
||||
|
||||
Any option you set in the editor will be saved to the file
|
||||
~/.config/micro/settings.json so, in effect, your configuration file will be
|
||||
|
||||
Reference in New Issue
Block a user