「カッコをはずす」の版間の差分
ページを新規作成 |
細 →ソースコード |
||
| 31行目: | 31行目: | ||
* 選択範囲の外側 (前と後) の各1文字がカッコのときも、カッコをはずせます。 | * 選択範囲の外側 (前と後) の各1文字がカッコのときも、カッコをはずせます。 | ||
*/ | */ | ||
// ▼「対になるカッコ」の種類を列挙する ▼ | // ▼「対になるカッコ」の種類を列挙する ▼ | ||
// (※ 開き/閉じカッコはそれぞれ「1文字」でないとダメ) | // (※ 開き/閉じカッコはそれぞれ「1文字」でないとダメ) | ||
var brackets = "()「」<>[]{}\"\"''()「」『』<>[]{}【】〖〗﹁﹂﹃﹄︵︶︿﹀︽︾︹︺︷︸︻︼︗︘⦅⦆⦅⦆〚〛〔〕〘〙〈〉《》””’’〝〟‘’“”――~~〜〜 "; | var brackets = "()「」<>[]{}\"\"''()「」『』<>[]{}【】〖〗﹁﹂﹃﹄︵︶︿﹀︽︾︹︺︷︸︻︼︗︘⦅⦆⦅⦆〚〛〔〕〘〙〈〉《》””’’〝〟‘’“”――~~〜〜 "; | ||
// ■ 選択範囲の外側 (前と後) の各1文字がカッコのときも除去する? ■ | // ■ 選択範囲の外側 (前と後) の各1文字がカッコのときも除去する? ■ | ||
| 69行目: | 71行目: | ||
if ( removeOuterBracketsEnable && ! del ) { | if ( removeOuterBracketsEnable && ! del ) { | ||
for ( var i = 0; i < brackets.length - 1; i ++ ) { | for ( var i = 0; i < brackets.length - 1; i ++ ) { | ||
var o = brackets[ i ]; // 開きカッコ | var o = brackets[ i ]; // 開きカッコ | ||
var c = brackets[ i + 1 ] // 閉じカッコ | var c = brackets[ i + 1 ] // 閉じカッコ | ||
if ( i % 2 == 0 | if ( i % 2 == 0 | ||
&& d.Text.charAt( tPos - o.length ) == o | && d.Text.charAt( tPos - o.length ) == o | ||
&& d.Text.charAt( bPos ) == c ) { | && d.Text.charAt( bPos ) == c ) { | ||
s.SetAnchorPos( tPos - o.length ); // | s.SetAnchorPos( tPos - o.length ); // 選択範囲の先頭を1文字拡張 | ||
s.SetActivePos( bPos + c.length, true ); // | s.SetActivePos( bPos + c.length, true ); // 選択範囲の末尾を1文字拡張 | ||
st = s.Text; | st = s.Text; | ||
s.Text = st.slice( o.length, - c.length ); // 先頭と末尾の各1文字ずつ削除 | s.Text = st.slice( o.length, - c.length ); // 先頭と末尾の各1文字ずつ削除 | ||
スポンサーリンク