mirror of
https://github.com/zyedidia/micro.git
synced 2025-06-18 23:05:40 -04: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
@ -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 New Issue
Block a user