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) {
|
define(function(require, exports, module) {
|
||||||
|
|
||||||
var config = require("../config");
|
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:
|
// These commands can be installed in a normal key handler to start iSearch:
|
||||||
exports.iSearchStartCommands = [{
|
exports.iSearchStartCommands = [{
|
||||||
|
|
@ -121,13 +124,18 @@ exports.iSearchCommands = [{
|
||||||
exec: function(iSearch) { iSearch.deactivate(true); },
|
exec: function(iSearch) { iSearch.deactivate(true); },
|
||||||
readOnly: true,
|
readOnly: true,
|
||||||
isIncrementalSearchCommand: 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) {
|
function IncrementalSearchKeyboardHandler(iSearch) {
|
||||||
this.$iSearch = iSearch;
|
this.$iSearch = iSearch;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -34,7 +34,7 @@ var config = require("../config"),
|
||||||
Occur = require("../occur").Occur;
|
Occur = require("../occur").Occur;
|
||||||
|
|
||||||
// These commands can be installed in a normal command handler to start occur:
|
// These commands can be installed in a normal command handler to start occur:
|
||||||
var occurStartCommands = [{
|
var occurStartCommand = {
|
||||||
name: "occur",
|
name: "occur",
|
||||||
exec: function(editor, options) {
|
exec: function(editor, options) {
|
||||||
var alreadyInOccur = !!editor.session.$occur;
|
var alreadyInOccur = !!editor.session.$occur;
|
||||||
|
|
@ -43,7 +43,7 @@ var occurStartCommands = [{
|
||||||
OccurKeyboardHandler.installIn(editor);
|
OccurKeyboardHandler.installIn(editor);
|
||||||
},
|
},
|
||||||
readOnly: true
|
readOnly: true
|
||||||
}];
|
};
|
||||||
|
|
||||||
var occurCommands = [{
|
var occurCommands = [{
|
||||||
name: "occurexit",
|
name: "occurexit",
|
||||||
|
|
@ -105,6 +105,6 @@ OccurKeyboardHandler.uninstallFrom = function(editor) {
|
||||||
editor.keyBinding.removeKeyboardHandler(handler);
|
editor.keyBinding.removeKeyboardHandler(handler);
|
||||||
}
|
}
|
||||||
|
|
||||||
exports.commands = occurStartCommands;
|
exports.occurStartCommand = occurStartCommand;
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -219,11 +219,11 @@ dom.importCssString && dom.importCssString("\
|
||||||
}\
|
}\
|
||||||
div.ace_isearch-result {\
|
div.ace_isearch-result {\
|
||||||
border-radius: 4px;\
|
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);\
|
box-shadow: 0 0 4px rgb(255, 200, 0);\
|
||||||
}\
|
}\
|
||||||
.ace_dark div.ace_isearch-result {\
|
.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);\
|
box-shadow: 0 0 4px rgb(80, 90, 140);\
|
||||||
}", "incremental-search-highlighting");
|
}", "incremental-search-highlighting");
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -172,7 +172,7 @@ oop.inherits(Occur, Search);
|
||||||
var dom = require('./lib/dom');
|
var dom = require('./lib/dom');
|
||||||
dom.importCssString(".ace_occur-highlight {\n\
|
dom.importCssString(".ace_occur-highlight {\n\
|
||||||
border-radius: 4px;\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\
|
position: absolute;\n\
|
||||||
z-index: 4;\n\
|
z-index: 4;\n\
|
||||||
-moz-box-sizing: border-box;\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\
|
box-shadow: 0 0 4px rgb(91, 255, 50);\n\
|
||||||
}\n\
|
}\n\
|
||||||
.ace_dark .ace_occur-highlight {\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\
|
box-shadow: 0 0 4px rgb(60, 120, 70);\n\
|
||||||
}\n", "incremental-occur-highlighting");
|
}\n", "incremental-occur-highlighting");
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -41,7 +41,7 @@ var MockRenderer = require("./test/mockrenderer").MockRenderer;
|
||||||
var Range = require("./range").Range;
|
var Range = require("./range").Range;
|
||||||
var assert = require("./test/assertions");
|
var assert = require("./test/assertions");
|
||||||
var Occur = require("./occur").Occur;
|
var Occur = require("./occur").Occur;
|
||||||
var occurCommands = require("./commands/occur_commands").commands;
|
var occurStartCommand = require("./commands/occur_commands").occurStartCommand;
|
||||||
var editor, occur;
|
var editor, occur;
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
|
@ -83,7 +83,7 @@ module.exports = {
|
||||||
// setup
|
// setup
|
||||||
var text = 'hel\nlo\n\nwo\nrld\n';
|
var text = 'hel\nlo\n\nwo\nrld\n';
|
||||||
editor.session.insert({row: 0, column: 0}, text);
|
editor.session.insert({row: 0, column: 0}, text);
|
||||||
editor.commands.addCommands(occurCommands);
|
editor.commands.addCommand(occurStartCommand);
|
||||||
|
|
||||||
// run occur for lines including 'o'
|
// run occur for lines including 'o'
|
||||||
editor.execCommand('occur', {needle: 'o'});
|
editor.execCommand('occur', {needle: 'o'});
|
||||||
|
|
@ -107,7 +107,7 @@ module.exports = {
|
||||||
// setup
|
// setup
|
||||||
var text = 'hel\nlo\n\nwo\nrld\n';
|
var text = 'hel\nlo\n\nwo\nrld\n';
|
||||||
editor.session.insert({row: 0, column: 0}, text);
|
editor.session.insert({row: 0, column: 0}, text);
|
||||||
editor.commands.addCommands(occurCommands);
|
editor.commands.addCommand(occurStartCommand);
|
||||||
editor.moveCursorToPosition({row: 1, column: 1});
|
editor.moveCursorToPosition({row: 1, column: 1});
|
||||||
|
|
||||||
// run occur for lines including 'o'
|
// run occur for lines including 'o'
|
||||||
|
|
@ -126,7 +126,7 @@ module.exports = {
|
||||||
// setup
|
// setup
|
||||||
var text = 'x\nabc1\nx\nabc2\n';
|
var text = 'x\nabc1\nx\nabc2\n';
|
||||||
editor.session.insert({row: 0, column: 0}, text);
|
editor.session.insert({row: 0, column: 0}, text);
|
||||||
editor.commands.addCommands(occurCommands);
|
editor.commands.addCommand(occurStartCommand);
|
||||||
|
|
||||||
// orig -> occur1
|
// orig -> occur1
|
||||||
editor.execCommand('occur', {needle: 'abc'});
|
editor.execCommand('occur', {needle: 'abc'});
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue