diff.diff 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. diff --git a/lib/ace/edit_session.js b/lib/ace/edit_session.js
  2. index 23fc3fc..ed3b273 100644
  3. --- a/lib/ace/edit_session.js
  4. +++ b/lib/ace/edit_session.js
  5. @@ -51,6 +51,7 @@ var TextMode = require("./mode/text").Mode;
  6. var Range = require("./range").Range;
  7. var Document = require("./document").Document;
  8. var BackgroundTokenizer = require("./background_tokenizer").BackgroundTokenizer;
  9. +var SearchHighlight = require("./search_highlight").SearchHighlight;
  10. /**
  11. * class EditSession
  12. @@ -307,6 +308,13 @@ var EditSession = function(text, mode) {
  13. return token;
  14. };
  15. + this.highlight = function(re) {
  16. + if (!this.$searchHighlight) {
  17. + var highlight = new SearchHighlight(null, "ace_selected-word", "text");
  18. + this.$searchHighlight = this.addDynamicMarker(highlight);
  19. + }
  20. + this.$searchHighlight.setRegexp(re);
  21. + }
  22. /**
  23. * EditSession.setUndoManager(undoManager)
  24. * - undoManager (UndoManager): The new undo manager
  25. @@ -556,7 +564,8 @@ var EditSession = function(text, mode) {
  26. type : type || "line",
  27. renderer: typeof type == "function" ? type : null,
  28. clazz : clazz,
  29. - inFront: !!inFront
  30. + inFront: !!inFront,
  31. + id: id
  32. }
  33. if (inFront) {
  34. diff --git a/lib/ace/editor.js b/lib/ace/editor.js
  35. index 834e603..b27ec73 100644
  36. --- a/lib/ace/editor.js
  37. +++ b/lib/ace/editor.js
  38. @@ -494,7 +494,7 @@ var Editor = function(renderer, session) {
  39. * Emitted when a selection has changed.
  40. **/
  41. this.onSelectionChange = function(e) {
  42. - var session = this.getSession();
  43. + var session = this.session;
  44. if (session.$selectionMarker) {
  45. session.removeMarker(session.$selectionMarker);
  46. @@ -509,12 +509,40 @@ var Editor = function(renderer, session) {
  47. this.$updateHighlightActiveLine();
  48. }
  49. - var self = this;
  50. - if (this.$highlightSelectedWord && !this.$wordHighlightTimer)
  51. - this.$wordHighlightTimer = setTimeout(function() {
  52. - self.session.$mode.highlightSelection(self);
  53. - self.$wordHighlightTimer = null;
  54. - }, 30, this);
  55. + var re = this.$highlightSelectedWord && this.$getSelectionHighLightRegexp()
  56. };
  57. diff --git a/lib/ace/search_highlight.js b/lib/ace/search_highlight.js
  58. new file mode 100644
  59. index 0000000..b2df779
  60. --- /dev/null
  61. +++ b/lib/ace/search_highlight.js
  62. @@ -0,0 +1,3 @@
  63. +new
  64. +empty file