Merge pull request #1334 from LivelyKernel/occur-with-isearch
Occur with isearch
This commit is contained in:
commit
5fd8d7bbc8
5 changed files with 24 additions and 16 deletions
|
|
@ -31,6 +31,9 @@
|
|||
define(function(require, exports, module) {
|
||||
|
||||
var config = require("../config");
|
||||
var oop = require("../lib/oop");
|
||||
var HashHandler = require("../keyboard/hash_handler").HashHandler;
|
||||
var occurStartCommand = require("./occur_commands").occurStartCommand;
|
||||
|
||||
// These commands can be installed in a normal key handler to start iSearch:
|
||||
exports.iSearchStartCommands = [{
|
||||
|
|
@ -121,13 +124,18 @@ exports.iSearchCommands = [{
|
|||
exec: function(iSearch) { iSearch.deactivate(true); },
|
||||
readOnly: true,
|
||||
isIncrementalSearchCommand: true
|
||||
}, {
|
||||
name: 'occurisearch',
|
||||
bindKey: 'Ctrl-O',
|
||||
exec: function(iSearch) {
|
||||
var options = oop.mixin({}, iSearch.$options);
|
||||
iSearch.deactivate();
|
||||
occurStartCommand.exec(iSearch.$editor, options);
|
||||
},
|
||||
readOnly: true,
|
||||
isIncrementalSearchCommand: true
|
||||
}];
|
||||
|
||||
|
||||
|
||||
var HashHandler = require("../keyboard/hash_handler").HashHandler;
|
||||
var oop = require("../lib/oop");
|
||||
|
||||
function IncrementalSearchKeyboardHandler(iSearch) {
|
||||
this.$iSearch = iSearch;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ var config = require("../config"),
|
|||
Occur = require("../occur").Occur;
|
||||
|
||||
// These commands can be installed in a normal command handler to start occur:
|
||||
var occurStartCommands = [{
|
||||
var occurStartCommand = {
|
||||
name: "occur",
|
||||
exec: function(editor, options) {
|
||||
var alreadyInOccur = !!editor.session.$occur;
|
||||
|
|
@ -43,7 +43,7 @@ var occurStartCommands = [{
|
|||
OccurKeyboardHandler.installIn(editor);
|
||||
},
|
||||
readOnly: true
|
||||
}];
|
||||
};
|
||||
|
||||
var occurCommands = [{
|
||||
name: "occurexit",
|
||||
|
|
@ -105,6 +105,6 @@ OccurKeyboardHandler.uninstallFrom = function(editor) {
|
|||
editor.keyBinding.removeKeyboardHandler(handler);
|
||||
}
|
||||
|
||||
exports.commands = occurStartCommands;
|
||||
exports.occurStartCommand = occurStartCommand;
|
||||
|
||||
});
|
||||
|
|
|
|||
|
|
@ -219,11 +219,11 @@ dom.importCssString && dom.importCssString("\
|
|||
}\
|
||||
div.ace_isearch-result {\
|
||||
border-radius: 4px;\
|
||||
border: 8px solid rgba(255, 200, 0, 0.5);\
|
||||
background-color: rgba(255, 200, 0, 0.5);\
|
||||
box-shadow: 0 0 4px rgb(255, 200, 0);\
|
||||
}\
|
||||
.ace_dark div.ace_isearch-result {\
|
||||
border: 8px solid rgb(100, 110, 160);\
|
||||
background-color: rgb(100, 110, 160);\
|
||||
box-shadow: 0 0 4px rgb(80, 90, 140);\
|
||||
}", "incremental-search-highlighting");
|
||||
|
||||
|
|
|
|||
|
|
@ -172,7 +172,7 @@ oop.inherits(Occur, Search);
|
|||
var dom = require('./lib/dom');
|
||||
dom.importCssString(".ace_occur-highlight {\n\
|
||||
border-radius: 4px;\n\
|
||||
border: 8px solid rgba(87, 255, 8, 0.25);\n\
|
||||
background-color: rgba(87, 255, 8, 0.25);\n\
|
||||
position: absolute;\n\
|
||||
z-index: 4;\n\
|
||||
-moz-box-sizing: border-box;\n\
|
||||
|
|
@ -181,7 +181,7 @@ dom.importCssString(".ace_occur-highlight {\n\
|
|||
box-shadow: 0 0 4px rgb(91, 255, 50);\n\
|
||||
}\n\
|
||||
.ace_dark .ace_occur-highlight {\n\
|
||||
border: 8px solid rgb(80, 140, 85);\n\
|
||||
background-color: rgb(80, 140, 85);\n\
|
||||
box-shadow: 0 0 4px rgb(60, 120, 70);\n\
|
||||
}\n", "incremental-occur-highlighting");
|
||||
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ var MockRenderer = require("./test/mockrenderer").MockRenderer;
|
|||
var Range = require("./range").Range;
|
||||
var assert = require("./test/assertions");
|
||||
var Occur = require("./occur").Occur;
|
||||
var occurCommands = require("./commands/occur_commands").commands;
|
||||
var occurStartCommand = require("./commands/occur_commands").occurStartCommand;
|
||||
var editor, occur;
|
||||
|
||||
module.exports = {
|
||||
|
|
@ -83,7 +83,7 @@ module.exports = {
|
|||
// setup
|
||||
var text = 'hel\nlo\n\nwo\nrld\n';
|
||||
editor.session.insert({row: 0, column: 0}, text);
|
||||
editor.commands.addCommands(occurCommands);
|
||||
editor.commands.addCommand(occurStartCommand);
|
||||
|
||||
// run occur for lines including 'o'
|
||||
editor.execCommand('occur', {needle: 'o'});
|
||||
|
|
@ -107,7 +107,7 @@ module.exports = {
|
|||
// setup
|
||||
var text = 'hel\nlo\n\nwo\nrld\n';
|
||||
editor.session.insert({row: 0, column: 0}, text);
|
||||
editor.commands.addCommands(occurCommands);
|
||||
editor.commands.addCommand(occurStartCommand);
|
||||
editor.moveCursorToPosition({row: 1, column: 1});
|
||||
|
||||
// run occur for lines including 'o'
|
||||
|
|
@ -126,7 +126,7 @@ module.exports = {
|
|||
// setup
|
||||
var text = 'x\nabc1\nx\nabc2\n';
|
||||
editor.session.insert({row: 0, column: 0}, text);
|
||||
editor.commands.addCommands(occurCommands);
|
||||
editor.commands.addCommand(occurStartCommand);
|
||||
|
||||
// orig -> occur1
|
||||
editor.execCommand('occur', {needle: 'abc'});
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue