[occur] command cleanup
This commit is contained in:
parent
887aa24ceb
commit
2ba388ed04
3 changed files with 10 additions and 15 deletions
|
|
@ -34,26 +34,27 @@ 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:
|
||||||
exports.occurStartCommands = [{
|
var occurStartCommands = [{
|
||||||
name: "occur",
|
name: "occur",
|
||||||
exec: function(editor, options) {
|
exec: function(editor, options) {
|
||||||
if (!options.needle) return;
|
if (!options.needle) return;
|
||||||
var handler = new OccurKeyboardHandler();
|
var handler = new OccurKeyboardHandler();
|
||||||
editor.keyBinding.addKeyboardHandler(handler);
|
editor.keyBinding.addKeyboardHandler(handler);
|
||||||
editor.commands.addCommands(exports.occurCommands);
|
editor.commands.addCommands(occurCommands);
|
||||||
var occur = new Occur();
|
var occur = new Occur();
|
||||||
occur.display(editor.session, options);
|
occur.display(editor.session, options);
|
||||||
},
|
},
|
||||||
readOnly: true
|
readOnly: true
|
||||||
}];
|
}];
|
||||||
|
|
||||||
exports.occurCommands = [{
|
var occurCommands = [{
|
||||||
name: "occurexit",
|
name: "occurexit",
|
||||||
|
bindKey: 'esc|Ctrl-G',
|
||||||
exec: function(editor) {
|
exec: function(editor) {
|
||||||
// if (!options.needle) return;
|
// if (!options.needle) return;
|
||||||
var session = editor.session, occur = session.doc.$occur;
|
var session = editor.session, occur = session.doc.$occur;
|
||||||
if (occur) occur.displayOriginal(session);
|
if (occur) occur.displayOriginal(session);
|
||||||
editor.commands.removeCommands(exports.occurCommands);
|
editor.commands.removeCommands(occurCommands);
|
||||||
var handler = editor.getKeyboardHandler();
|
var handler = editor.getKeyboardHandler();
|
||||||
if (handler.isOccurHandler) editor.keyBinding.removeKeyboardHandler(handler);
|
if (handler.isOccurHandler) editor.keyBinding.removeKeyboardHandler(handler);
|
||||||
},
|
},
|
||||||
|
|
@ -72,12 +73,11 @@ oop.inherits(OccurKeyboardHandler, HashHandler);
|
||||||
this.isOccurHandler = true;
|
this.isOccurHandler = true;
|
||||||
|
|
||||||
this.attach = function(editor) {
|
this.attach = function(editor) {
|
||||||
HashHandler.call(this, exports.iSearchCommands, editor.commands.platform);
|
HashHandler.call(this, occurCommands, editor.commands.platform);
|
||||||
this.$editor = editor;
|
this.$editor = editor;
|
||||||
}
|
}
|
||||||
|
|
||||||
this.detach = function(editor) {
|
this.detach = function() {}
|
||||||
}
|
|
||||||
|
|
||||||
var handleKeyboard$super = this.handleKeyboard;
|
var handleKeyboard$super = this.handleKeyboard;
|
||||||
this.handleKeyboard = function(data, hashId, key, keyCode) {
|
this.handleKeyboard = function(data, hashId, key, keyCode) {
|
||||||
|
|
@ -87,7 +87,6 @@ oop.inherits(OccurKeyboardHandler, HashHandler);
|
||||||
|
|
||||||
}).call(OccurKeyboardHandler.prototype);
|
}).call(OccurKeyboardHandler.prototype);
|
||||||
|
|
||||||
|
exports.commands = occurStartCommands;
|
||||||
exports.OccurKeyboardHandler = OccurKeyboardHandler;
|
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -35,8 +35,6 @@ var oop = require("./lib/oop");
|
||||||
var Range = require("./range").Range;
|
var Range = require("./range").Range;
|
||||||
var Search = require("./search").Search;
|
var Search = require("./search").Search;
|
||||||
var Document = require("./document").Document;
|
var Document = require("./document").Document;
|
||||||
var iSearchCommandModule = require("./commands/incremental_search_commands");
|
|
||||||
var ISearchKbd = iSearchCommandModule.IncrementalSearchKeyboardHandler;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @class Occur
|
* @class Occur
|
||||||
|
|
|
||||||
|
|
@ -41,9 +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");
|
var occurCommands = require("./commands/occur_commands").commands;
|
||||||
// var OccurKeyboardHandler = occurCommands.OccurKeyboardHandler;
|
|
||||||
|
|
||||||
var editor, occur, session;
|
var editor, occur, session;
|
||||||
|
|
||||||
module.exports = {
|
module.exports = {
|
||||||
|
|
@ -75,7 +73,7 @@ module.exports = {
|
||||||
"test: occur command" : function() {
|
"test: occur command" : function() {
|
||||||
var lines = ['hel', 'lo', '', 'wo', 'rld'];
|
var lines = ['hel', 'lo', '', 'wo', 'rld'];
|
||||||
session.doc.insertLines(0, lines);
|
session.doc.insertLines(0, lines);
|
||||||
editor.commands.addCommands(occurCommands.occurStartCommands);
|
editor.commands.addCommands(occurCommands);
|
||||||
editor.execCommand('occur', {needle: 'o'});
|
editor.execCommand('occur', {needle: 'o'});
|
||||||
assert.equal(session.getValue(), 'lo\nwo');
|
assert.equal(session.getValue(), 'lo\nwo');
|
||||||
assert.ok(editor.getKeyboardHandler().isOccurHandler, 'no occur handler installed');
|
assert.ok(editor.getKeyboardHandler().isOccurHandler, 'no occur handler installed');
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue