mirror of
https://github.com/zyedidia/micro
synced 2024-11-05 17:41:24 +00:00
allow optionally brace matching with the closing brace to the left of the cursor
this behavior, while slightly less obvious, allows for observing what brace you just closed. as you write closing braces, the brace you closed gets highlighted
This commit is contained in:
parent
6d2cbb6cce
commit
ea6a87d41a
3 changed files with 21 additions and 2 deletions
|
@ -73,9 +73,20 @@ func (c *CellView) Draw(buf *Buffer, top, height, left, width int) {
|
|||
// bracePairs is defined in buffer.go
|
||||
if buf.Settings["matchbrace"].(bool) {
|
||||
for _, bp := range bracePairs {
|
||||
r := buf.Cursor.RuneUnder(buf.Cursor.X)
|
||||
if r == bp[0] || r == bp[1] {
|
||||
if buf.Cursor.RuneUnder(buf.Cursor.X) == bp[0] {
|
||||
matchingBrace = buf.FindMatchingBrace(bp, buf.Cursor.Loc)
|
||||
break
|
||||
}
|
||||
left := buf.Cursor.Loc.X
|
||||
if buf.Settings["matchbraceleft"].(bool) {
|
||||
left -= 1
|
||||
if left < 0 {
|
||||
left = 0
|
||||
}
|
||||
}
|
||||
if buf.Cursor.RuneUnder(left) == bp[1] {
|
||||
matchingBrace = buf.FindMatchingBrace(
|
||||
bp, Loc{X: left, Y: buf.Cursor.Loc.Y})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -215,6 +215,7 @@ func DefaultGlobalSettings() map[string]interface{} {
|
|||
"keepautoindent": false,
|
||||
"keymenu": false,
|
||||
"matchbrace": false,
|
||||
"matchbraceleft": false,
|
||||
"mouse": true,
|
||||
"pluginchannels": []string{"https://raw.githubusercontent.com/micro-editor/plugin-channel/master/channel.json"},
|
||||
"pluginrepos": []string{},
|
||||
|
@ -257,6 +258,7 @@ func DefaultLocalSettings() map[string]interface{} {
|
|||
"indentchar": " ",
|
||||
"keepautoindent": false,
|
||||
"matchbrace": false,
|
||||
"matchbraceleft": false,
|
||||
"rmtrailingws": false,
|
||||
"ruler": true,
|
||||
"savecursor": false,
|
||||
|
|
|
@ -186,6 +186,12 @@ Here are the options that you can set:
|
|||
|
||||
default value: `false`
|
||||
|
||||
* `matchbraceleft`: when matching a closing brace, should matching match the
|
||||
brace directly under the cursor, or the character to the left? only matters
|
||||
if `matchbrace` is true
|
||||
|
||||
default value: `false`
|
||||
|
||||
* `syntax`: turns syntax on or off.
|
||||
|
||||
default value: `true`
|
||||
|
|
Loading…
Reference in a new issue