FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Merge pull request #3462 from 5atk6/Add_Auto_Complete_Brackets_and_Qu… · ishit/processing@144beef · GitHub

Repository navigation

Commit 144beef

Browse files
committed
Merge pull request processing#3462 from 5atk6/Add_Auto_Complete_Brackets_and_Quotes
Add auto-completion to brackets and quotes
2 parents 12956e0 + d5bcef4 commit 144beef

1 file changed

Lines changed: 30 additions & 1 deletion

File tree

‎app/src/processing/app/syntax/InputHandler.java‎

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,14 @@ public abstract class InputHandler extends KeyAdapter
9292

9393
private static Map<String, ActionListener> actions;
9494

95+
private static final Map<String, String> bracketsAndQuotesMap = new HashMap<String, String>(){
96+
{put("(", ")");}
97+
{put("{", "}");}
98+
{put("[", "]");}
99+
{put("\"", "\"");}
100+
{put("\'", "\'");}
101+
};
102+
95103
static
96104
{
97105
actions = new HashMap<String, ActionListener>();
@@ -1157,13 +1165,34 @@ public void actionPerformed(ActionEvent evt)
11571165
StringBuilder sb = new StringBuilder();
11581166
for(int i = 0; i < repeatCount; i++)
11591167
sb.append(str);
1160-
textArea.overwriteSetSelectedText(sb.toString());
1168+
if (hasBracketsAndQuotes(str)) {
1169+
matchBracketsAndQuotes(str, evt, textArea, sb);
1170+
} else {
1171+
textArea.overwriteSetSelectedText(sb.toString());
1172+
}
11611173
}
11621174
else
11631175
{
11641176
textArea.getToolkit().beep();
11651177
}
11661178
}
1179+
1180+
public void matchBracketsAndQuotes(String str, ActionEvent evt,
1181+
JEditTextArea textArea, StringBuilder sb)
1182+
{
1183+
sb.append(bracketsAndQuotesMap.get(str));
1184+
textArea.overwriteSetSelectedText(sb.toString());
1185+
InputHandler.PREV_CHAR.actionPerformed(evt);
1186+
}
1187+
1188+
public boolean hasBracketsAndQuotes(String str){
1189+
for (String bracketsAndQuotes : bracketsAndQuotesMap.keySet())
1190+
{
1191+
if (str.equals(bracketsAndQuotes))
1192+
return true;
1193+
}
1194+
return false;
1195+
}
11671196
}
11681197

11691198

0 commit comments

Comments
 (0)

Back | FazBrowse Home | New Git URL