99 lines
6.7 KiB
JavaScript
99 lines
6.7 KiB
JavaScript
var __create = Object.create;
|
|
var __defProp = Object.defineProperty;
|
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
var __getProtoOf = Object.getPrototypeOf;
|
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
|
|
var __export = (target, all) => {
|
|
__markAsModule(target);
|
|
for (var name in all)
|
|
__defProp(target, name, { get: all[name], enumerable: true });
|
|
};
|
|
var __reExport = (target, module2, desc) => {
|
|
if (module2 && typeof module2 === "object" || typeof module2 === "function") {
|
|
for (let key of __getOwnPropNames(module2))
|
|
if (!__hasOwnProp.call(target, key) && key !== "default")
|
|
__defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
|
|
}
|
|
return target;
|
|
};
|
|
var __toModule = (module2) => {
|
|
return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
|
|
};
|
|
var __async = (__this, __arguments, generator) => {
|
|
return new Promise((resolve, reject) => {
|
|
var fulfilled = (value) => {
|
|
try {
|
|
step(generator.next(value));
|
|
} catch (e) {
|
|
reject(e);
|
|
}
|
|
};
|
|
var rejected = (value) => {
|
|
try {
|
|
step(generator.throw(value));
|
|
} catch (e) {
|
|
reject(e);
|
|
}
|
|
};
|
|
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
step((generator = generator.apply(__this, __arguments)).next());
|
|
});
|
|
};
|
|
|
|
// main.ts
|
|
__export(exports, {
|
|
default: () => ImprovedVimCursor
|
|
});
|
|
var import_obsidian = __toModule(require("obsidian"));
|
|
var ImprovedVimCursor = class extends import_obsidian.Plugin {
|
|
onload() {
|
|
return __async(this, null, function* () {
|
|
this.setup();
|
|
this.registerEvent(this.app.workspace.on("file-open", () => {
|
|
this.setup();
|
|
}));
|
|
});
|
|
}
|
|
setup() {
|
|
let view = this.app.workspace.getActiveViewOfType(import_obsidian.MarkdownView);
|
|
if (!view) {
|
|
return;
|
|
}
|
|
CodeMirror.Vim.defineEx("g0", false, (cm) => {
|
|
cm.execCommand("goLineLeftSmart");
|
|
});
|
|
CodeMirror.Vim.defineEx("gDollar", false, (cm) => {
|
|
cm.execCommand("goLineRight");
|
|
});
|
|
CodeMirror.Vim.defineEx("pHead", false, (cm) => {
|
|
const { line } = cm.getCursor();
|
|
const text = cm.getValue();
|
|
const split = text.split("\n");
|
|
let last = 0;
|
|
for (let i = 0; i < line; i++) {
|
|
const text2 = split[i];
|
|
if (text2.match(/^#{1,6} /)) {
|
|
last = i;
|
|
}
|
|
}
|
|
cm.setCursor(last, 0);
|
|
});
|
|
CodeMirror.Vim.defineEx("nHead", false, (cm) => {
|
|
const { line } = cm.getCursor();
|
|
const text = cm.getValue();
|
|
const split = text.split("\n");
|
|
let last = split.length - 1;
|
|
for (let i = last; i > line; i--) {
|
|
const text2 = split[i];
|
|
if (text2.match(/^#{1,6} /)) {
|
|
last = i;
|
|
}
|
|
}
|
|
cm.setCursor(last, 0);
|
|
});
|
|
}
|
|
};
|
|
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsibWFpbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiaW1wb3J0IHtNYXJrZG93blZpZXcsIFBsdWdpbn0gZnJvbSAnb2JzaWRpYW4nO1xyXG5cclxuZGVjbGFyZSBjb25zdCBDb2RlTWlycm9yOiBhbnk7XHJcblxyXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBJbXByb3ZlZFZpbUN1cnNvciBleHRlbmRzIFBsdWdpbiB7XHJcbiAgYXN5bmMgb25sb2FkKCkge1xyXG4gICAgdGhpcy5zZXR1cCgpXHJcblxyXG4gICAgdGhpcy5yZWdpc3RlckV2ZW50KHRoaXMuYXBwLndvcmtzcGFjZS5vbignZmlsZS1vcGVuJywgKCkgPT4ge1xyXG4gICAgICB0aGlzLnNldHVwKCk7XHJcbiAgICB9KSk7XHJcbiAgfVxyXG5cclxuICBzZXR1cCgpIHtcclxuICAgIGxldCB2aWV3ID0gdGhpcy5hcHAud29ya3NwYWNlLmdldEFjdGl2ZVZpZXdPZlR5cGUoTWFya2Rvd25WaWV3KVxyXG4gICAgaWYoIXZpZXcpIHtcclxuICAgICAgcmV0dXJuXHJcbiAgICB9XHJcblxyXG4gICAgQ29kZU1pcnJvci5WaW0uZGVmaW5lRXgoXCJnMFwiLCBmYWxzZSwgKGNtOiBDb2RlTWlycm9yLkVkaXRvcikgPT4ge1xyXG4gICAgICBjbS5leGVjQ29tbWFuZChcImdvTGluZUxlZnRTbWFydFwiKTtcclxuICAgIH0pXHJcblxyXG4gICAgQ29kZU1pcnJvci5WaW0uZGVmaW5lRXgoXCJnRG9sbGFyXCIsIGZhbHNlLCAoY206IENvZGVNaXJyb3IuRWRpdG9yKSA9PiB7XHJcbiAgICAgIGNtLmV4ZWNDb21tYW5kKFwiZ29MaW5lUmlnaHRcIik7XHJcbiAgICB9KVxyXG5cclxuICAgIENvZGVNaXJyb3IuVmltLmRlZmluZUV4KFwicEhlYWRcIiwgZmFsc2UsIChjbTogQ29kZU1pcnJvci5FZGl0b3IpID0+IHtcclxuICAgICAgY29uc3QgeyBsaW5lIH0gPSAgY20uZ2V0Q3Vyc29yKClcclxuICAgICAgY29uc3QgdGV4dCA9IGNtLmdldFZhbHVlKClcclxuICAgICAgY29uc3Qgc3BsaXQgPSB0ZXh0LnNwbGl0KFwiXFxuXCIpO1xyXG5cclxuICAgICAgbGV0IGxhc3QgPSAwO1xyXG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxpbmU7IGkrKykge1xyXG4gICAgICAgIGNvbnN0IHRleHQgPSBzcGxpdFtpXTtcclxuICAgICAgICBpZiAodGV4dC5tYXRjaCgvXiN7MSw2fSAvKSkge1xyXG4gICAgICAgICAgbGFzdCA9IGk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGNtLnNldEN1cnNvcihsYXN0LCAwKTtcclxuICAgIH0pXHJcblxyXG4gICAgQ29kZU1pcnJvci5WaW0uZGVmaW5lRXgoXCJuSGVhZFwiLCBmYWxzZSwgKGNtOiBDb2RlTWlycm9yLkVkaXRvcikgPT4ge1xyXG4gICAgICBjb25zdCB7IGxpbmUgfSA9ICBjbS5nZXRDdXJzb3IoKVxyXG4gICAgICBjb25zdCB0ZXh0ID0gY20uZ2V0VmFsdWUoKVxyXG4gICAgICBjb25zdCBzcGxpdCA9IHRleHQuc3BsaXQoXCJcXG5cIik7XHJcblxyXG4gICAgICBsZXQgbGFzdCA9IHNwbGl0Lmxlbmd0aCAtIDE7XHJcbiAgICAgIGZvciAobGV0IGkgPSBsYXN0OyBpID4gbGluZTsgaS0tKSB7XHJcbiAgICAgICAgY29uc3QgdGV4dCA9IHNwbGl0W2ldO1xyXG4gICAgICAgIGlmICh0ZXh0Lm1hdGNoKC9eI3sxLDZ9IC8pKSB7XHJcbiAgICAgICAgICBsYXN0ID0gaTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgY20uc2V0Q3Vyc29yKGxhc3QsIDApO1xyXG4gICAgfSlcclxuICB9XHJcbn1cclxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUEsc0JBQW1DO0FBSW5DLHNDQUErQyx1QkFBTztBQUFBLEVBQzlDLFNBQVM7QUFBQTtBQUNiLFdBQUs7QUFFTCxXQUFLLGNBQWMsS0FBSyxJQUFJLFVBQVUsR0FBRyxhQUFhLE1BQU07QUFDMUQsYUFBSztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSVQsUUFBUTtBQUNOLFFBQUksT0FBTyxLQUFLLElBQUksVUFBVSxvQkFBb0I7QUFDbEQsUUFBRyxDQUFDLE1BQU07QUFDUjtBQUFBO0FBR0YsZUFBVyxJQUFJLFNBQVMsTUFBTSxPQUFPLENBQUMsT0FBMEI7QUFDOUQsU0FBRyxZQUFZO0FBQUE7QUFHakIsZUFBVyxJQUFJLFNBQVMsV0FBVyxPQUFPLENBQUMsT0FBMEI7QUFDbkUsU0FBRyxZQUFZO0FBQUE7QUFHakIsZUFBVyxJQUFJLFNBQVMsU0FBUyxPQUFPLENBQUMsT0FBMEI7QUFDakUsWUFBTSxFQUFFLFNBQVUsR0FBRztBQUNyQixZQUFNLE9BQU8sR0FBRztBQUNoQixZQUFNLFFBQVEsS0FBSyxNQUFNO0FBRXpCLFVBQUksT0FBTztBQUNYLGVBQVMsSUFBSSxHQUFHLElBQUksTUFBTSxLQUFLO0FBQzdCLGNBQU0sUUFBTyxNQUFNO0FBQ25CLFlBQUksTUFBSyxNQUFNLGFBQWE7QUFDMUIsaUJBQU87QUFBQTtBQUFBO0FBR1gsU0FBRyxVQUFVLE1BQU07QUFBQTtBQUdyQixlQUFXLElBQUksU0FBUyxTQUFTLE9BQU8sQ0FBQyxPQUEwQjtBQUNqRSxZQUFNLEVBQUUsU0FBVSxHQUFHO0FBQ3JCLFlBQU0sT0FBTyxHQUFHO0FBQ2hCLFlBQU0sUUFBUSxLQUFLLE1BQU07QUFFekIsVUFBSSxPQUFPLE1BQU0sU0FBUztBQUMxQixlQUFTLElBQUksTUFBTSxJQUFJLE1BQU0sS0FBSztBQUNoQyxjQUFNLFFBQU8sTUFBTTtBQUNuQixZQUFJLE1BQUssTUFBTSxhQUFhO0FBQzFCLGlCQUFPO0FBQUE7QUFBQTtBQUdYLFNBQUcsVUFBVSxNQUFNO0FBQUE7QUFBQTtBQUFBOyIsCiAgIm5hbWVzIjogW10KfQo=
|