MCPcopy Create free account
hub / github.com/OpenEndedGroup/Field2 / setOption

Function setOption

lib/web/CodeMirror/keymap/vim.js:474–504  ·  view source on GitHub ↗
(name, value, cm, cfg)

Source from the content-addressed store, hash-verified

472 }
473
474 function setOption(name, value, cm, cfg) {
475 var option = options[name];
476 cfg = cfg || {};
477 var scope = cfg.scope;
478 if (!option) {
479 return new Error('Unknown option: ' + name);
480 }
481 if (option.type == 'boolean') {
482 if (value && value !== true) {
483 return new Error('Invalid argument: ' + name + '=' + value);
484 } else if (value !== false) {
485 // Boolean options are set to true if value is not defined.
486 value = true;
487 }
488 }
489 if (option.callback) {
490 if (scope !== 'local') {
491 option.callback(value, undefined);
492 }
493 if (scope !== 'global' && cm) {
494 option.callback(value, cm);
495 }
496 } else {
497 if (scope !== 'local') {
498 option.value = option.type == 'boolean' ? !!value : value;
499 }
500 if (scope !== 'global' && cm) {
501 cm.state.vim.options[name] = {value: value};
502 }
503 }
504 }
505
506 function getOption(name, cm, cfg) {
507 var option = options[name];

Callers 2

defineOptionFunction · 0.85
VimFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected