Use `g:sandwich#magicchar#f#patterns` or `b:sandwich_magicchar_f_patterns`.
Each of those are a list of patterns dictionary like:
let g:sandwich#magicchar#f#patterns = [
\ {
\ 'header' : '\<\h\k*',
\ 'bra' : '(',
\ 'ket' : ')',
\ 'footer' : '',
\ },
\ ]
Since these operators edit a text from tail to head to avoid shifting target region, autoindent features haven't worked well. This commit changes that let the operators edit from head to tail with computing shift, it makes more similar as user does and reasonable for autoindent functions.
At the same time, because the problem has been solved, default values of a local option 'autoindent' are set to -1 (as user is using).
This commit fix a bug when a invalid region is assigned. For example,
a key sequence 'sdb' is used when there is no sandwiched text, cursor is
moved to left. This is not intended, cursor should not move in that
case.
This problem is reported in issue #8.