I'm quite sure, you will never see support of brace matching for double quotes nor for what you have already defined. Why?
a) You have to request it by email from IDM support. Without a user request, nothing will be added ever.
b) Using the same string for open and close "brace" string is simply not working for what is the feature designed for.
c) Using the same close string for two different open strings is simply not working for what every programmer expects.
The Match Brace feature is written for programmers and therefore must work as programmers need it.
So if I'm looking on your definition of brace strings
/Open Brace Strings = "{" "[" "("
"`" "'" "if" "do" "case"
"else"
/Close Brace Strings = "}" "]" ")"
"`" "'" "fi" "done" "esac"
"fi"
the red marked one are already not fully working and will never fully work.
I give you examples which show why it is simply necessary that every brace string is unique.
First, a macro command:
ReplInFiles Log "C:\Temp\" "*.tmp" " " " " ""
What are the strings in this line? What are the matching double quotes? Do you have an idea? Yes, take a look
here if you are right?
Second, a CSV file example:
double quote,34,0x22,"'""'","\"""
Third, let us look on a possible shell script (taking into account that I don't know anything about Unix shell scripts):
if (x!=y)
command 1
command 2
else
command 3
command 4
fi
If you execute Match Brace command with caret left to
if, it selects everything from
if to
fi. Is that correct? Yes! Really? Where does the
if condition block really ends, on line with
fi or on line with
else? On line with
else. You might want entire
if else fi selected when using Match Brace command, but from the execution point of view the selection is wrong.
Put now the caret inside
command 1 and execute Match Brace command. It selects
else fi block, but correct would be a selection of the
if else block.
Set the caret at beginning of
else and execute Match Brace command. The
else fi block is selected correct. Set the caret on character right inside the
else or on line with
command 3 or
command 4 and execute Match Brace command. Selected is the entire
if else fi block, but really correct would be a selection of just the
else fi block.
Code folding has no problem to correctly analyze an
if else fi block and an
if fi block with or without nesting other blocks when using
/Open Fold Strings = "else" "if"
/Close Fold Strings = "else" "fi"
But code folding feature works with different rules than the match brace feature because of different requirements. The same is true when comparing string highlighting feature with match brace feature. The string highlighting feature is designed for highlighting single or double quoted strings with or without escaped single or double quotes inside the string, but not the match brace feature which is designed for a different goal.