Skip to content

Commit

Permalink
Merge branch 'master' into types-fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
mkslanc committed Dec 16, 2024
2 parents 271b943 + c3f548b commit f0288f6
Show file tree
Hide file tree
Showing 64 changed files with 152 additions and 224 deletions.
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ Contributing

Ace is a community project and wouldn't be what it is without contributions! We actively encourage and support contributions. The Ace source code is released under the BSD License. This license is very simple, and is friendly to all kinds of projects, whether open source or not. Take charge of your editor and add your favorite language highlighting and keybindings!

Feel free to fork and improve/enhance Ace any way you want. If you feel that the editor or the Ace community will benefit from your changes, please open a pull request.
Feel free to fork and improve/enhance Ace any way you want. If you feel that the editor or the Ace community will benefit from your changes, please open a pull request. Do make sure that your changes are covered by test cases to pass the pull request checks which exists inorder to keep ace robust.

Happy coding, Cloud9
4 changes: 0 additions & 4 deletions src/anchor_test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
if (typeof process !== "undefined") {
require("amd-loader");
}

"use strict";

var Document = require("./document").Document;
Expand Down
4 changes: 0 additions & 4 deletions src/background_tokenizer_test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
if (typeof process !== "undefined") {
require("amd-loader");
}

"use strict";

var EditSession = require("./edit_session").EditSession;
Expand Down
4 changes: 0 additions & 4 deletions src/commands/command_manager_test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
if (typeof process !== "undefined") {
require("amd-loader");
}

"use strict";

var CommandManager = require("./command_manager").CommandManager;
Expand Down
9 changes: 4 additions & 5 deletions src/config_test.js
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
if (typeof process !== "undefined") {
require("amd-loader");
}

"use strict";

var config = require("./config");
var assert = require("./test/assertions");
var {defaultEnglishMessages} = require("./lib/default_english_messages");

module.exports = {

tearDown: function() {
config.setMessages(defaultEnglishMessages);
},
"test: path resolution" : function(done) {
config.set("packaged", true);
var url = config.moduleUrl("kr_theme", "theme");
Expand Down
4 changes: 0 additions & 4 deletions src/document_test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
if (typeof process !== "undefined") {
require("amd-loader");
}

"use strict";

var Document = require("./document").Document;
Expand Down
52 changes: 39 additions & 13 deletions src/edit_session_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -1106,24 +1106,50 @@ module.exports = {
},

"test: mode loading" : function(next) {
if (!require.undef) {
console.log("Skipping test: This test only runs in the browser");
next();
return;
}
delete EditSession.prototype.$modes["ace/mode/javascript"];
delete EditSession.prototype.$modes["ace/mode/css"];
delete EditSession.prototype.$modes["ace/mode/sh"];
require("./config").setLoader(function(name, onLoad) {
if (name == "ace/mode/javascript") {
return onLoad(null, require("./mode/javascript"));
}
if (name == "ace/mode/sh") {
return setTimeout(function() {
return onLoad(null, require("./mode/sh"));
});
}
if (name == "ace/mode/css") {
return setTimeout(function() {
return onLoad(null, require("./mode/css"));
});
}
});
var session = new EditSession([]);
session.setMode("ace/mode/javascript");
assert.equal(session.$modeid, "ace/mode/javascript");
session.on("changeMode", function() {
assert.equal(session.$modeid, "ace/mode/javascript");
assert.equal(session.$modeId, "ace/mode/javascript");

var modeChangeCallbacks = 0;
session.once("changeMode", function() {
assert.equal(session.$modeId, "ace/mode/sh");
modeChangeCallbacks++;
});
session.setMode("ace/mode/sh", function(mode) {
assert.ok(!mode);
session.setMode("ace/mode/sh", function() {
assert.equal(session.$mode.$id, "ace/mode/sh");
modeChangeCallbacks++;
});
assert.equal(session.$modeId, "ace/mode/sh");
assert.equal(session.$mode.$id, "ace/mode/javascript");
setTimeout(function() {
session.setMode("ace/mode/javascript", function(mode) {
session.setMode("ace/mode/javascript");
assert.equal(session.$modeid, "ace/mode/javascript");
assert.equal(modeChangeCallbacks, 2);
session.setMode("ace/mode/javascript");
assert.equal(session.$mode.$id, "ace/mode/javascript");
session.setMode("ace/mode/sh");
assert.equal(session.$mode.$id, "ace/mode/sh");
session.setMode("ace/mode/css");
assert.equal(session.$mode.$id, "ace/mode/sh");
// TODO this should not error
// session.destroy();
setTimeout(function() {
next();
});
}, 0);
Expand Down
4 changes: 0 additions & 4 deletions src/ext/beautify_test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
if (typeof process !== "undefined") {
require("amd-loader");
}

"use strict";

var assert = require("assert");
Expand Down
4 changes: 0 additions & 4 deletions src/ext/emmet_test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
if (typeof process !== "undefined") {
require("amd-loader");
}

"use strict";

require("../test/mockdom");
Expand Down
4 changes: 0 additions & 4 deletions src/ext/error_marker_test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
if (typeof process !== "undefined") {
require("amd-loader");
}

"use strict";

var assert = require("./../test/assertions");
Expand Down
4 changes: 0 additions & 4 deletions src/ext/hardwrap_test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
if (typeof process !== "undefined") {
require("amd-loader");
}

"use strict";

var assert = require("./../test/assertions");
Expand Down
5 changes: 5 additions & 0 deletions src/ext/searchbox.js
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,10 @@ class SearchBox {
}
});

/**
* @type {{schedule: (timeout?: number) => void}}
* @external
*/
this.$onChange = lang.delayedCall(function() {
_this.find(false, false);
});
Expand Down Expand Up @@ -158,6 +162,7 @@ class SearchBox {

/**
* @param {boolean} [preventScroll]
* @external
*/
$syncOptions(preventScroll) {
dom.setCssClass(this.replaceOption, "checked", this.searchRange);
Expand Down
4 changes: 0 additions & 4 deletions src/ext/static_highlight_test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
if (typeof process !== "undefined") {
require("amd-loader");
}

"use strict";

var assert = require("assert");
Expand Down
4 changes: 0 additions & 4 deletions src/ext/whitespace_test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
if (typeof process !== "undefined") {
require("amd-loader");
}

"use strict";

require("../test/mockdom");
Expand Down
4 changes: 0 additions & 4 deletions src/incremental_search_test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
if (typeof process !== "undefined") {
require("amd-loader");
}

"use strict";

var emacs = require('./keyboard/emacs');
Expand Down
4 changes: 0 additions & 4 deletions src/keyboard/keybinding_test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
if (typeof process !== "undefined") {
require("amd-loader");
}

"use strict";

var EditSession = require("./../edit_session").EditSession,
Expand Down
4 changes: 0 additions & 4 deletions src/keyboard/textinput_test.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
/*global CustomEvent*/

if (typeof process !== "undefined") {
require("amd-loader");
}

"use strict";

require("../test/mockdom");
Expand Down
39 changes: 34 additions & 5 deletions src/keyboard/vim.js
Original file line number Diff line number Diff line change
Expand Up @@ -3392,8 +3392,40 @@ domLib.importCssString(`.normal-mode .ace_cursor{
},
indent: function(cm, args, ranges) {
var vim = cm.state.vim;
if (cm.indentMore) {
var repeat = (vim.visualMode) ? args.repeat : 1;
// In visual mode, n> shifts the selection right n times, instead of
// shifting n lines right once.
var repeat = (vim.visualMode) ? args.repeat : 1;
if (vim.visualBlock) {
var tabSize = cm.getOption('tabSize');
var indent = cm.getOption('indentWithTabs') ? '\t' : ' '.repeat(tabSize);
var cursor;
for (var i = ranges.length - 1; i >= 0; i--) {
cursor = cursorMin(ranges[i].anchor, ranges[i].head);
if (args.indentRight) {
cm.replaceRange(indent.repeat(repeat), cursor, cursor);
} else {
var text = cm.getLine(cursor.line);
var end = 0;
for (var j = 0; j < repeat; j++) {
var ch = text[cursor.ch + end];
if (ch == '\t') {
end++;
} else if (ch == ' ') {
end++;
for (var k = 1; k < indent.length; k++) {
ch = text[cursor.ch + end];
if (ch !== ' ') break;
end++;
}
} else {
break
}
}
cm.replaceRange('', cursor, offsetCursor(cursor, 0, end));
}
}
return cursor;
} else if (cm.indentMore) {
for (var j = 0; j < repeat; j++) {
if (args.indentRight) cm.indentMore();
else cm.indentLess();
Expand All @@ -3403,9 +3435,6 @@ domLib.importCssString(`.normal-mode .ace_cursor{
var endLine = vim.visualBlock ?
ranges[ranges.length - 1].anchor.line :
ranges[0].head.line;
// In visual mode, n> shifts the selection right n times, instead of
// shifting n lines right once.
var repeat = (vim.visualMode) ? args.repeat : 1;
if (args.linewise) {
// The only way to delete a newline is to delete until the start of
// the next line, so in linewise mode evalInput will include the next
Expand Down
4 changes: 0 additions & 4 deletions src/keyboard/vim_ace_test.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
/*global CustomEvent*/

if (typeof process !== "undefined") {
require("amd-loader");
}

"use strict";

var assert = require("./../test/assertions");
Expand Down
10 changes: 9 additions & 1 deletion src/keyboard/vim_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -1571,7 +1571,15 @@ testVim('=', function(cm, vim, helpers) {
var expectedValue = 'word1\nword2\nword3';
helpers.doKeys('=');
eq(expectedValue, cm.getValue());
}, { value: ' word1\n word2\n word3', indentUnit: 2 });
}, { value: ' word1\n word2\n word3', indentUnit: 2 });
testVim('><visualblock', function(cm, vim, helpers) {
cm.setCursor(0, 6);
helpers.doKeys('<C-v>', 'j', 'j');
helpers.doKeys('4', '>');
eq(' word 1\n word 2\n word 3', cm.getValue());
helpers.doKeys('g', 'v', '14', '<');
eq(' word1\n word2\n word3', cm.getValue());
}, { value: ' word1\n word2\n word3', indentUnit: 2 });


// Edit tests
Expand Down
2 changes: 1 addition & 1 deletion src/lib/app_config.js
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ class AppConfig {
*/
nls(key, defaultString, params) {
if (!messages[key]) {
warn("No message found for the key '" + key + "' in the provided messages, trying to find a translation for the default string '" + defaultString + "'.");
warn("No message found for the key '" + key + "' in messages with id " + messages.$id + ", trying to find a translation for the default string '" + defaultString + "'.");
if (!messages[defaultString]) {
warn("No message found for the default string '" + defaultString + "' in the provided messages. Falling back to the default English message.");
}
Expand Down
4 changes: 0 additions & 4 deletions src/lib/event_emitter_test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
if (typeof process !== "undefined") {
require("amd-loader");
}

"use strict";

var oop = require("../lib/oop");
Expand Down
2 changes: 0 additions & 2 deletions src/mode/_test/highlight_rules_test.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,6 @@ var editor = new Editor(new MockRenderer());
if (!fs.existsSync)
fs.existsSync = path.existsSync;

require("amd-loader");

var cwd = __dirname + "/";
var root = path.normalize(cwd + Array(4).join("../"));

Expand Down
4 changes: 0 additions & 4 deletions src/mode/ada_test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
if (typeof process !== "undefined") {
require("amd-loader");
}

"use strict";

var EditSession = require("../edit_session").EditSession;
Expand Down
4 changes: 0 additions & 4 deletions src/mode/coldfusion_test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
if (typeof process !== "undefined") {
require("amd-loader");
}

"use strict";

var EditSession = require("../edit_session").EditSession;
Expand Down
4 changes: 0 additions & 4 deletions src/mode/css_test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
if (typeof process !== "undefined") {
require("amd-loader");
}

"use strict";

var EditSession = require("../edit_session").EditSession;
Expand Down
3 changes: 0 additions & 3 deletions src/mode/folding/basic_test.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
if (typeof process !== "undefined")
require("amd-loader");

"use strict";

var BasicMode = require("../basic").Mode;
Expand Down
3 changes: 0 additions & 3 deletions src/mode/folding/coffee_test.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
if (typeof process !== "undefined")
require("amd-loader");

"use strict";

var CoffeeMode = require("../coffee").Mode;
Expand Down
3 changes: 0 additions & 3 deletions src/mode/folding/cstyle_test.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
if (typeof process !== "undefined")
require("amd-loader");

"use strict";

var JavaScriptMode = require("../javascript").Mode;
Expand Down
3 changes: 0 additions & 3 deletions src/mode/folding/fold_mode_test.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
if (typeof process !== "undefined")
require("amd-loader");

"use strict";

var MarkdownMode = require("../markdown").Mode;
Expand Down
3 changes: 0 additions & 3 deletions src/mode/folding/html_test.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
if (typeof process !== "undefined")
require("amd-loader");

"use strict";

var HtmlMode = require("../html").Mode;
Expand Down
3 changes: 0 additions & 3 deletions src/mode/folding/javascript_test.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,3 @@
if (typeof process !== "undefined")
require("amd-loader");

"use strict";

var JavaScriptMode = require("../javascript").Mode;
Expand Down
2 changes: 0 additions & 2 deletions src/mode/folding/latex_test.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
if (typeof process !== "undefined") require("amd-loader");

"use strict";

var LatexMode = require("../latex").Mode;
Expand Down
2 changes: 0 additions & 2 deletions src/mode/folding/lua_test.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,3 @@
if (typeof process !== "undefined") require("amd-loader");

"use strict";

var LuaMode = require("../lua").Mode;
Expand Down
Loading

0 comments on commit f0288f6

Please sign in to comment.