aboutsummaryrefslogtreecommitdiffstats
path: root/ubiquity.js
diff options
context:
space:
mode:
authordrry2008-11-01 22:20:55 +0000
committerdrry2008-11-01 22:20:55 +0000
commitedb046a78aa11c6f70dba107326596119eadbe67 (patch)
treea3438d09227656aa045cc59c7c5b886fbabf29f7 /ubiquity.js
parentc6bb9a7b0c62e54b3771e82a9045236c20174653 (Diffstat (limited to 'ubiquity.js')
0 files changed, 0 insertions, 0 deletions
>/description> <minVersion>2.0</minVersion> <maxVersion>2.0</maxVersion> <updateURL>http://svn.coderepos.org/share/lang/javascript/vimperator-plugins/trunk/history-search-backward.js</updateURL> <author mail="hotchpotch@gmail.com" homepage="http://d.hatena.ne.jp/secondlife/">Yuichi Tateno</author> <license>MIT</license> <version>0.2</version> <detail><![CDATA[ UNIX シェルのようにコマンドラインで C-r でヒストリ検索を行うプラグインですmap の変更設定は以下のように行えます >|| liberator.globalVariables.history_search_backward_map = ['<C-r>']; ||< ]]></detail> </VimperatorPlugin>; (function() { let p = function(msg) { Application.console.log(''+msg); } let evalWithContext = function(func, context) { let str; let fstr = func.toString(); if (fstr.indexOf('function () {') == 0) { str = fstr.replace(/.*?{([\s\S]+)}.*?/m, "$1"); } else { str = '(' + fstr + ')()'; } return liberator.eval(str, context); } let showCompletions = function() { if (!options.get('wildoptions').has('auto')) { evalWithContext(function() { completions.complete(true, false); completions.itemList.show(); }, commandline.input); } } let next = function() { evalWithContext(function() completions.tab(false), commandline.input); } let prev = function() { evalWithContext(function() completions.tab(true), commandline.input); } const commandlineWidget = document.getElementById("liberator-commandline"); mappings.addUserMap([modes.COMMAND_LINE], liberator.globalVariables.history_search_backward_map || ['<C-r>'], 'History incremental search backward.', function() { if (evalWithContext(function() completions.itemList.visible(), commandline.input)) { next(); return; } let command = commandline.command || ''; let completionsList = [[key, i] for ([i, key] in storage['history-command'])]. filter(function([key, i]) key).reverse(); commandline.input('bck-i-search: ', function(str) { try { liberator.execute(str); } catch(e) {}; modes.pop(); return; }, { completer: function(context) { context.title = ['CommandLine History', 'INDEX']; context.completions = completionsList; }, onChange: function() { showCompletions(); }, default: command, }); showCompletions(); } ); })();