Changeset 31877

Show
Ignore:
Timestamp:
04/04/09 06:57:30 (4 years ago)
Author:
hogelog
Message:

間違ったコミットの取消

Location:
lang/javascript/vimperator-plugins/trunk
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • lang/javascript/vimperator-plugins/trunk/caret-hint.js

    r31876 r31877  
    3737<VimperatorPlugin> 
    3838  <name>Caret Hint</name> 
    39   <description>Move caret position by hint</description> 
     39  <description>Move the caret position by hint</description> 
    4040  <description lang="ja">Hint を使ってキャレット位置を移動</description> 
    41   <version>1.2.1</version> 
     41  <version>1.0.0</version> 
    4242  <author mail="anekos@snca.net" homepage="http://d.hatena.ne.jp/nokturnalmortum/">anekos</author> 
    4343  <license>new BSD License (Please read the source code comments of this plugin)</license> 
     
    4747  <maxVersion>2.0pre</maxVersion> 
    4848  <detail><![CDATA[ 
    49     Move caret position by hint. 
    5049    == Global Variables == 
    51       let g:caret_hint_key = 'c': 
    52         Hint mode key. 
    53         Move caret position to the head of selected element. 
    54       let g:caret_hint_tail_key = 'C': 
    55         Hint mode key. 
    56         Move caret position to the tail of selected element. 
    57       let g:caret_hint_select_key = '' (default: disabled): 
    58         Hint mode key. 
    59         Move caret position to the head of selected element, and select. 
    60       let g:caret_hint_select_tail_key = 'S': 
    61         Hint mode key. 
    62         Move caret position to the tail of selected element, and select. 
    63       let g:caret_hint_swap_key = 's': 
    64         The key mapping for Visual-mode. 
    65         Swap caret position head to tail. 
    66       If apply empty string ('') to these variables, these mapping or mode are not enabled. 
    67     == Global Variables 2 == 
    68       let g:caret_hint_xpath = '//*': 
    69         The XPath for hint-mode selection. 
     50      let g:caret_hint_key: 
     51        Hint mode key 
    7052  ]]></detail> 
    7153  <detail lang="ja"><![CDATA[ 
    72     Hint を使ってキャレット位置を移動 
    73     == Global Variables 1 == 
    74       let g:caret_hint_key = 'c': 
     54    == Global Variables == 
     55      let g:caret_hint_key: 
    7556        Hint モードのキー 
    76         選択した要素の先頭にキャレットを移動する 
    77       let g:caret_hint_tail_key = 'C': 
    78         Hint モードのキー 
    79         選択した要素の後尾にキャレットを移動する 
    80       let g:caret_hint_select_key = '' (デフォルト: 無効): 
    81         Hint モードのキー 
    82         選択した要素の先頭にキャレットを移動し、要素を選択する 
    83       let g:caret_hint_select_tail_key = 'S': 
    84         Hint モードのキー 
    85         選択した要素の後尾にキャレットを移動し、要素を選択する 
    86       let g:caret_hint_swap_key = 's': 
    87         VISUAL モード用のキーマッピング 
    88         キャレットの位置を交換する(先頭 <=> 後尾) 
    89       これらの値に空文字列を与えれば、マッピングやモードは有効にされません。 
    90     == Global Variables 2 == 
    91       let g:caret_hint_xpath = '//*': 
    92         ヒント対象要素を選択するための XPath 
    9357  ]]></detail> 
    9458</VimperatorPlugin>; 
    9559// }}} 
    9660 
    97 /*       _\|/_ 
    98          (o o) 
    99  +----oOO-{_}-OOo------------+ 
    100  |TODO count@action の使い道 | 
    101  |     要素 A-B 間を選択     | 
    102  +---------------------------*/ 
    103  
    104  
    10561(function () { 
    10662 
    107   // XXX 空白も有効 
    108   let headMode = gval('caret_hint_key', 'c'); 
    109   let tailMode = gval('caret_hint_tail_key', 'C'); 
    110   let selectHeadMode = gval('caret_hint_select_key', ''); 
    111   let selectTailMode = gval('caret_hint_select_tail_key', 'S'); 
    112   let swapKey = gval('caret_hint_swap_key', 's'); 
    113   let hintXPath = liberator.globalVariables.caret_hint_xpath || '//*'; 
     63  let mode = liberator.globalVariables.caret_hint_key || 'c'; 
    11464 
    115   [ 
    116     [[true,  false], headMode], 
    117     [[false, false], tailMode], 
    118     [[true,  true ], selectHeadMode], 
    119     [[false, true ], selectTailMode], 
    120   ].forEach(function ([[h, s], m, d]) { 
    121     if (!m) 
    122       return; 
    123     hints.addMode( 
    124       m, 
    125       'Move caret position to ' + (h ? 'head' : 'tail') + (s ? ' and Select' : ''), 
    126       function (elem, loc, count) moveCaret(elem, h, s), 
    127       function () hintXPath 
    128     ); 
    129   }); 
     65  function moveCaret (elem) { 
     66    let doc = elem.ownerDocument; 
    13067 
    131   if (swapKey) { 
    132     mappings.addUserMap( 
    133       [modes.VISUAL], 
    134       [swapKey], 
    135       'Swap caret position head to tail', 
    136       swapCaret, 
    137       {} 
    138     ); 
     68    let win = new XPCNativeWrapper(window.content.window); 
     69    let sel =  win.getSelection(); 
     70    sel.removeAllRanges(); 
     71 
     72    let r = doc.createRange(); 
     73    r.selectNodeContents(elem); 
     74    r.setEnd(r.startContainer, r.startOffset); 
     75 
     76    sel.addRange(r); 
    13977  } 
    14078 
     79  hints.addMode( 
     80    'c', 
     81    'Move the caret position', 
     82    function (elem, _, count) { 
     83      moveCaret(elem); 
     84      mappings.getDefault(modes.NORMAL, 'i').action(); 
     85    }, 
     86    function () '//*' 
     87  ); 
    14188 
    142   function gval (name, def) { 
    143     let v = liberator.globalVariables[name]; 
    144     return (v === undefined) ? def : v; 
    145   } 
    146  
    147   function swapCaret () { 
    148     let win = new XPCNativeWrapper(window.content.window); 
    149     let s = win.getSelection(); 
    150  
    151     if (s.rangeCount <= 0) 
    152       return false; 
    153  
    154     // 位置交換時に元の情報が失われるので保存しておく 
    155     let [a, f] = [[s.anchorNode, s.anchorOffset], [s.focusNode, s.focusOffset]]; 
    156     s.collapse.apply(s, f); 
    157     s.extend.apply(s, a); 
    158   } 
    159  
    160   function moveCaret (elem, head, select) { 
    161     let doc = elem.ownerDocument; 
    162     let win = new XPCNativeWrapper(window.content.window); 
    163     let sel =  win.getSelection(); 
    164     let r = doc.createRange(); 
    165  
    166     sel.removeAllRanges(); 
    167     r.selectNodeContents(elem); 
    168  
    169     if (select) { 
    170       liberator.log('select') 
    171       mappings.getDefault(modes.NORMAL, 'i').action(); 
    172       mappings.getDefault(modes.CARET, 'v').action(); 
    173     } else { 
    174       liberator.log('not select') 
    175       if (head) { 
    176         r.setEnd(r.startContainer, r.startOffset); 
    177       } else { 
    178         r.setStart(r.endContainer, r.endOffset); 
    179       } 
    180       mappings.getDefault(modes.NORMAL, 'i').action(); 
    181     } 
    182  
    183     sel.addRange(r); 
    184  
    185     if (select && head) 
    186       swapCaret(); 
    187   } 
    18889})(); 
    18990 
  • lang/javascript/vimperator-plugins/trunk/moreqmarks.js

    r31876 r31877  
    3434 
    3535    // TODO: move to a storage module 
    36     var savedMarks = options.getPref("extensions.vimperator.moreqmarks", "").split("\n"); 
    37     var savedMarkStack = options.getPref("extensions.vimperator.moreqmarkstack", "").split("\n"); 
    38     var savedMarkQueue = options.getPref("extensions.vimperator.moreqmarkqueue", "").split("\n"); 
     36    var savedMarks = liberator.modules.options.getPref("extensions.vimperator.moreqmarks", "").split("\n"); 
     37    var savedMarkStack = liberator.modules.options.getPref("extensions.vimperator.moreqmarkstack", "").split("\n"); 
     38    var savedMarkQueue = liberator.modules.options.getPref("extensions.vimperator.moreqmarkqueue", "").split("\n"); 
    3939 
    4040    // load the saved quickmarks -- TODO: change to sqlite 
    4141    if(use_default_data) { 
    42         var defaultMarks = options.getPref("extensions.vimperator.quickmarks", "").split("\n"); 
     42        var defaultMarks = liberator.modules.options.getPref("extensions.vimperator.quickmarks", "").split("\n"); 
    4343        for (var i = 0; i < defaultMarks.length - 1; i += 2) { 
    4444            var url = defaultMarks[i+1]; 
     
    118118    function list_qmarks(marks) { 
    119119        if(use_position) { 
    120             var list = ":" + util.escapeHTML(commandline.command) + "<br/>" + 
     120            var list = ":" + liberator.modules.util.escapeHTML(liberator.modules.commandline.command) + "<br/>" + 
    121121                       "<table><tr align=\"left\" class=\"hl-Title\"><th>mark</th><th>line</th><th>col</th><th>file</th></tr>"; 
    122122            for (var i = 0; i < marks.length; i++) 
     
    126126                        "<td align=\"right\">"         + Math.round(marks[i][2] * 100) + "%</td>" + 
    127127                        "<td align=\"right\">"         + Math.round(marks[i][3] * 100) + "%</td>" + 
    128                         "<td style=\"color: green;\">" + util.escapeHTML(marks[i][1]) + "</td>" + 
     128                        "<td style=\"color: green;\">" + liberator.modules.util.escapeHTML(marks[i][1]) + "</td>" + 
    129129                        "</tr>"; 
    130130            } 
     
    132132            return list; 
    133133        } else { 
    134             var list = ":" + util.escapeHTML(commandline.command) + "<br/>" + 
     134            var list = ":" + liberator.modules.util.escapeHTML(liberator.modules.commandline.command) + "<br/>" + 
    135135                       "<table><tr align=\"left\" class=\"hl-Title\"><th>QuickMark</th><th>URL</th></tr>"; 
    136136            for (var i = 0; i < marks.length; i++) 
    137137            { 
    138138                list += "<tr><td>    " + marks[i][0] + 
    139                         "</td><td style=\"color: green;\">" + util.escapeHTML(marks[i][1]) + "</td></tr>"; 
     139                        "</td><td style=\"color: green;\">" + liberator.modules.util.escapeHTML(marks[i][1]) + "</td></tr>"; 
    140140            } 
    141141            list += "</table>"; 
     
    149149        if (url) { 
    150150            if(find) { 
    151                 for (let [number, browser] in Iterator(tabs.browsers)) { 
     151                for (let [number, browser] in Iterator(liberator.modules.tabs.browsers)) { 
    152152                    var marked_url = browser.contentDocument.location.href; 
    153153                    if(marked_url == url) { 
    154                         tabs.select(number, false); 
     154                        liberator.modules.tabs.select(number, false); 
    155155                        var win = getBrowser().selectedTab.linkedBrowser.contentWindow; 
    156156                        if(use_position) { 
     
    195195                    savedQuickMarkStack += qmark_stack[mark].y + "\n"; 
    196196                } 
    197                 options.setPref("extensions.vimperator.moreqmarkstack", savedQuickMarkStack); 
     197                liberator.modules.options.setPref("extensions.vimperator.moreqmarkstack", savedQuickMarkStack); 
    198198                break; 
    199199            case "queue": 
     
    204204                    savedQuickMarkQueue += qmark_queue[mark].y + "\n"; 
    205205                } 
    206                 options.setPref("extensions.vimperator.moreqmarkqueue", savedQuickMarkQueue); 
     206                liberator.modules.options.setPref("extensions.vimperator.moreqmarkqueue", savedQuickMarkQueue); 
    207207                break; 
    208208            case "mark": 
     
    215215                    savedQuickMarks += qmarks[mark].y + "\n"; 
    216216                } 
    217                 options.setPref("extensions.vimperator.moreqmarks", savedQuickMarks); 
     217                liberator.modules.options.setPref("extensions.vimperator.moreqmarks", savedQuickMarks); 
    218218                if(use_default_data) { 
    219219                    var savedQuickMarks = ""; 
     
    222222                        savedQuickMarks += qmarks[mark].url + "\n"; 
    223223                    } 
    224                     options.setPref("extensions.vimperator.quickmarks", savedQuickMarks); 
     224                    liberator.modules.options.setPref("extensions.vimperator.quickmarks", savedQuickMarks); 
    225225                } 
    226226                break; 
     
    265265    //// MAPPINGS 
    266266 
    267     var modes = [modes.NORMAL]; 
    268  
    269     mappings.addUserMap(modes, 
     267    var modes = [liberator.modules.modes.NORMAL]; 
     268 
     269    liberator.modules.mappings.addUserMap(modes, 
    270270        ["gj"], "Jump to QuickMark for current URL", 
    271271        function (arg) 
    272272        { 
    273             var where = /\bquickmark\b/.test(options["activate"]) ? liberator.NEW_TAB : liberator.NEW_BACKGROUND_TAB; 
    274             quickmarks.jumpTo(arg, where, true); 
     273            var where = /\bquickmark\b/.test(liberator.modules.options["activate"]) ? liberator.NEW_TAB : liberator.NEW_BACKGROUND_TAB; 
     274            liberator.modules.quickmarks.jumpTo(arg, where, true); 
    275275        }, 
    276         { flags: mappings.flags.ARGUMENT }); 
    277  
    278     mappings.addUserMap(modes, 
     276        { flags: liberator.modules.Mappings.flags.ARGUMENT }); 
     277 
     278    liberator.modules.mappings.addUserMap(modes, 
    279279        ["gd"], "Delete QuickMark for current URL", 
    280280        function () 
    281281        { 
    282             plugins.moreqmarks.remove('', buffer.URL); 
    283         }); 
    284     mappings.addUserMap(modes, 
     282            liberator.plugins.moreqmarks.remove('', liberator.modules.buffer.URL); 
     283        }); 
     284    liberator.modules.mappings.addUserMap(modes, 
    285285        ["gs"], "Push QuickMarkStack for current URL", 
    286286        function () 
    287287        { 
    288             plugins.moreqmarks.add("", buffer.URL, "stack"); 
    289         }); 
    290     mappings.addUserMap(modes, 
     288            liberator.plugins.moreqmarks.add("", liberator.modules.buffer.URL, "stack"); 
     289        }); 
     290    liberator.modules.mappings.addUserMap(modes, 
    291291        ["gS"], "Pop QuickMarkStack and Jump", 
    292292        function () 
    293293        { 
    294             var where = /\bquickmark\b/.test(options["activate"]) ? liberator.NEW_TAB : liberator.NEW_BACKGROUND_TAB; 
    295             if(quickmarks.jumpTo("", where, true, "stack")) { 
    296                 quickmarks.remove("", "", "stack"); 
    297             } 
    298         }); 
    299  
    300     mappings.addUserMap(modes, 
     294            var where = /\bquickmark\b/.test(liberator.modules.options["activate"]) ? liberator.NEW_TAB : liberator.NEW_BACKGROUND_TAB; 
     295            if(liberator.modules.quickmarks.jumpTo("", where, true, "stack")) { 
     296                liberator.modules.quickmarks.remove("", "", "stack"); 
     297            } 
     298        }); 
     299 
     300    liberator.modules.mappings.addUserMap(modes, 
    301301        ["gq"], "Queue QuickMarkQueue for current URL", 
    302302        function () 
    303303        { 
    304             liberator.plugins.moreqmarks.add("", buffer.URL, "queue"); 
    305         }); 
    306     mappings.addUserMap(modes, 
     304            liberator.plugins.moreqmarks.add("", liberator.modules.buffer.URL, "queue"); 
     305        }); 
     306    liberator.modules.mappings.addUserMap(modes, 
    307307        ["gQ"], "Dequeue QuickMarkStack and Jump", 
    308308        function () 
    309309        { 
    310             var where = /\bquickmark\b/.test(options["activate"]) ? liberator.NEW_TAB : liberator.NEW_BACKGROUND_TAB; 
    311             if(quickmarks.jumpTo("", where, true, "queue")) { 
    312                 quickmarks.remove("", "", "queue"); 
     310            var where = /\bquickmark\b/.test(liberator.modules.options["activate"]) ? liberator.NEW_TAB : liberator.NEW_BACKGROUND_TAB; 
     311            if(liberator.modules.quickmarks.jumpTo("", where, true, "queue")) { 
     312                liberator.modules.quickmarks.remove("", "", "queue"); 
    313313            } 
    314314        }); 
     
    316316    //// COMMANDS 
    317317 
    318     commands.add(["qmarkpu[sh]", "qmpu[sh]"], "Push QuickMarkStack for current URL", 
    319         function () 
    320         { 
    321             liberator.plugins.moreqmarks.add("", buffer.URL, "stack"); 
    322         }); 
    323     commands.add(["qmarkpo[p]", "qmpo[p]"], "Pop QuickMarkStack and Jump", 
    324         function () 
    325         { 
    326             var where = /\bquickmark\b/.test(options["activate"]) ? liberator.NEW_TAB : liberator.NEW_BACKGROUND_TAB; 
    327             quickmarks.jumpTo("", where, true, "stack"); 
    328         }); 
    329     commands.add(["stackli[st]", "stls"], "List QuickMarkStack", 
     318    liberator.modules.commands.add(["qmarkpu[sh]", "qmpu[sh]"], "Push QuickMarkStack for current URL", 
     319        function () 
     320        { 
     321            liberator.plugins.moreqmarks.add("", liberator.modules.buffer.URL, "stack"); 
     322        }); 
     323    liberator.modules.commands.add(["qmarkpo[p]", "qmpo[p]"], "Pop QuickMarkStack and Jump", 
     324        function () 
     325        { 
     326            var where = /\bquickmark\b/.test(liberator.modules.options["activate"]) ? liberator.NEW_TAB : liberator.NEW_BACKGROUND_TAB; 
     327            liberator.modules.quickmarks.jumpTo("", where, true, "stack"); 
     328        }); 
     329    liberator.modules.commands.add(["stackli[st]", "stls"], "List QuickMarkStack", 
    330330        function () 
    331331        { 
    332332            liberator.plugins.moreqmarks.list("", "stack"); 
    333333        }); 
    334     commands.add(["qmarkqu[eue]", "qmqu[eue]"], "Queue QuickMarkQueue for current URL", 
    335         function () 
    336         { 
    337             liberator.plugins.moreqmarks.add("", buffer.URL, "queue"); 
    338         }); 
    339     commands.add(["qmarkde[que]", "qmde[que]"], "Dequeue QuickMarkStack and Jump", 
    340         function () 
    341         { 
    342             var where = /\bquickmark\b/.test(options["activate"]) ? liberator.NEW_TAB : liberator.NEW_BACKGROUND_TAB; 
    343             quickmarks.jumpTo("", where, true, "queue"); 
    344         }); 
    345     commands.add(["queueli[st]", "quli[st]"], "List QuickMarkQueue", 
     334    liberator.modules.commands.add(["qmarkqu[eue]", "qmqu[eue]"], "Queue QuickMarkQueue for current URL", 
     335        function () 
     336        { 
     337            liberator.plugins.moreqmarks.add("", liberator.modules.buffer.URL, "queue"); 
     338        }); 
     339    liberator.modules.commands.add(["qmarkde[que]", "qmde[que]"], "Dequeue QuickMarkStack and Jump", 
     340        function () 
     341        { 
     342            var where = /\bquickmark\b/.test(liberator.modules.options["activate"]) ? liberator.NEW_TAB : liberator.NEW_BACKGROUND_TAB; 
     343            liberator.modules.quickmarks.jumpTo("", where, true, "queue"); 
     344        }); 
     345    liberator.modules.commands.add(["queueli[st]", "quli[st]"], "List QuickMarkQueue", 
    346346        function () 
    347347        { 
     
    367367                add_qmark(qmark, {url: url, x: x, y: y}, target); 
    368368                var message = (target?target+" : ":"add : "+qmark+" | ")+"("+x*100+"%, "+y*100+"%) | "+url; 
    369                 commandline.echo(message, commandline.HL_INFOMSG) 
     369                liberator.modules.commandline.echo(message, liberator.modules.commandline.HL_INFOMSG) 
    370370            } else { 
    371371                add_qmark(qmark, {url: url, x: 0, y: 0}, target); 
    372372                var message = (target?target+" : ":"add : "+qmark+" | ")+url; 
    373                 commandline.echo(message, commandline.HL_INFOMSG); 
     373                liberator.modules.commandline.echo(message, liberator.modules.commandline.HL_INFOMSG); 
    374374            } 
    375375            save_qmarks(target); 
     
    382382                case "stack": 
    383383                    if(item = qmark_stack.pop()) { 
    384                         commandline.echo("pop "+item.url, commandline.HL_INFOMSG); 
     384                        liberator.modules.commandline.echo("pop "+item.url, liberator.modules.commandline.HL_INFOMSG); 
    385385                        save_qmarks("stack"); 
    386386                    } else { 
     
    391391                    var item; 
    392392                    if(item = qmark_queue.pop()) { 
    393                         commandline.echo("dequeue "+item.url, commandline.HL_INFOMSG); 
     393                        liberator.modules.commandline.echo("dequeue "+item.url, liberator.modules.commandline.HL_INFOMSG); 
    394394                        save_qmarks("queue"); 
    395395                    } else { 
     
    403403                            if(url == qmarks[mark].url) { 
    404404                                delete qmarks[mark]; 
    405                                 commandline.echo("delete qmark "+mark, commandline.HL_INFOMSG); 
     405                                liberator.modules.commandline.echo("delete qmark "+mark, liberator.modules.commandline.HL_INFOMSG); 
    406406                                save_qmarks("mark"); 
    407407                                return; 
     
    415415                            if (pattern.test(qmark)) { 
    416416                                delete qmarks[qmark]; 
    417                                 commandline.echo("delete qmark "+qmark, commandline.HL_INFOMSG); 
     417                                liberator.modules.commandline.echo("delete qmark "+qmark, liberator.modules.commandline.HL_INFOMSG); 
    418418                                save_qmarks("mark"); 
    419419                                return; 
     
    483483 
    484484            var list = list_qmarks(marks); 
    485             commandline.echo(list, commandline.HL_NORMAL, commandline.FORCE_MULTILINE); 
     485            liberator.modules.commandline.echo(list, liberator.modules.commandline.HL_NORMAL, liberator.modules.commandline.FORCE_MULTILINE); 
    486486        }, 
    487487 
     
    495495    }; 
    496496    for(var name in liberator.plugins.moreqmarks) { 
    497         quickmarks[name] = liberator.plugins.moreqmarks[name]; 
     497        liberator.modules.quickmarks[name] = liberator.plugins.moreqmarks[name]; 
    498498    } 
    499499})();