MCPcopy Create free account
hub / github.com/ronreiter/interactive-tutorials / Vim

Function Vim

static/js/codemirror/keymap/vim.js:256–2584  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

254 ];
255
256 var Vim = function() {
257 var alphabetRegex = /[A-Za-z]/;
258 var numberRegex = /[\d]/;
259 var whiteSpaceRegex = /\s/;
260 var wordRegexp = [(/\w/), (/[^\w\s]/)], bigWordRegexp = [(/\S/)];
261 function makeKeyRange(start, size) {
262 var keys = [];
263 for (var i = start; i < start + size; i++) {
264 keys.push(String.fromCharCode(i));
265 }
266 return keys;
267 }
268 var upperCaseAlphabet = makeKeyRange(65, 26);
269 var lowerCaseAlphabet = makeKeyRange(97, 26);
270 var numbers = makeKeyRange(48, 10);
271 var SPECIAL_SYMBOLS = '~`!@#$%^&*()_-+=[{}]\\|/?.,<>:;\"\'';
272 var specialSymbols = SPECIAL_SYMBOLS.split('');
273 var specialKeys = ['Left', 'Right', 'Up', 'Down', 'Space', 'Backspace',
274 'Esc', 'Home', 'End', 'PageUp', 'PageDown', 'Enter'];
275 var validMarks = upperCaseAlphabet.concat(lowerCaseAlphabet).concat(
276 numbers).concat(['<', '>']);
277 var validRegisters = upperCaseAlphabet.concat(lowerCaseAlphabet).concat(
278 numbers).concat('-\"'.split(''));
279
280 function isAlphabet(k) {
281 return alphabetRegex.test(k);
282 }
283 function isLine(cm, line) {
284 return line >= cm.firstLine() && line <= cm.lastLine();
285 }
286 function isLowerCase(k) {
287 return (/^[a-z]$/).test(k);
288 }
289 function isMatchableSymbol(k) {
290 return '()[]{}'.indexOf(k) != -1;
291 }
292 function isNumber(k) {
293 return numberRegex.test(k);
294 }
295 function isUpperCase(k) {
296 return (/^[A-Z]$/).test(k);
297 }
298 function isAlphanumeric(k) {
299 return (/^[\w]$/).test(k);
300 }
301 function isWhiteSpace(k) {
302 return whiteSpaceRegex.test(k);
303 }
304 function isWhiteSpaceString(k) {
305 return (/^\s*$/).test(k);
306 }
307 function inRangeInclusive(x, start, end) {
308 return x >= start && x <= end;
309 }
310 function inArray(val, arr) {
311 for (var i = 0; i < arr.length; i++) {
312 if (arr[i] == val) {
313 return true;

Callers 1

vim.jsFile · 0.85

Calls 15

makeKeyRangeFunction · 0.85
getVimGlobalStateFunction · 0.85
getVimStateFunction · 0.85
exitVisualModeFunction · 0.85
cursorEqualFunction · 0.85
isUpperCaseFunction · 0.85
inArrayFunction · 0.85
matchKeysPartialFunction · 0.85
copyArgsFunction · 0.85
showPromptFunction · 0.85
expandWordUnderCursorFunction · 0.85
escapeRegexFunction · 0.85

Tested by

no test coverage detected