「カッコをはずす」の版間の差分

Sukemaru (トーク | 投稿記録)
ページを新規作成
 
Sukemaru (トーク | 投稿記録)
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 ); // 選択範囲の先頭を1文字拡張する
       s.SetAnchorPos( tPos - o.length ); // 選択範囲の先頭を1文字拡張
       s.SetActivePos( bPos + c.length, true ); // 選択範囲の末尾を1文字拡張する
       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文字ずつ削除
スポンサーリンク