Skip to content

Commit 6733204

Browse files
committed
initial setup of the nvim-git-rebase-todo plugin (need proper monorepo tho)
Signed-off-by: Kipras Melnikovas <kipras@kipras.org>
1 parent 260eb1b commit 6733204

File tree

6 files changed

+316
-1
lines changed

6 files changed

+316
-1
lines changed

nvim-git-rebase-todo/README

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
showing the current commit's info (while in the git-rebase-todo file) would save a lot of time.
2+
3+
could potentially add extra stuff like grouping files by which commits modified them, or vice versa, etc.
4+
5+
need a monorepo setup for this, if nvim's node-client [1] works well
6+
7+
[1] https://github.com/neovim/node-client
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
import { NvimPlugin } from "neovim";
2+
3+
export default function nvimGitRebaseTodo(plugin: NvimPlugin): void {
4+
const { nvim: vim } = plugin;
5+
6+
plugin.setOptions({ dev: false });
7+
8+
plugin.registerCommand(
9+
"EchoMessage",
10+
async () => {
11+
try {
12+
await vim.outWrite("Dayman (ah-ah-ah) \n");
13+
} catch (err) {
14+
console.error(err);
15+
}
16+
},
17+
{ sync: false }
18+
);
19+
20+
plugin.registerFunction(
21+
"SetLines",
22+
() =>
23+
vim
24+
.setLine("May I offer you an egg in these troubling times")
25+
.then(() => console.log("Line should be set")),
26+
{ sync: false }
27+
);
28+
29+
plugin.registerAutocmd(
30+
"BufEnter",
31+
async (_fileName: string) => {
32+
await vim.buffer.append("BufEnter for git-rebase-todo File?");
33+
// await vim.window.
34+
},
35+
{ sync: false, pattern: "git-rebase-todo", eval: 'expand("<afile>")' }
36+
);
37+
}

nvim-git-rebase-todo/package.json

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
"name": "nvim-git-rebase-todo",
3+
"version": "0.0.0",
4+
"main": "dist/nvim-git-rebase-todo.js",
5+
"types": "dist/nvim-git-rebase-todo.d.ts",
6+
"author": "Kipras Melnikovas <kipras@kipras.org> (https://kipras.org/)",
7+
"license": "UNLICENSED",
8+
"scripts": {
9+
"dev": "tsc -b -w",
10+
"build": "tsc -b",
11+
"postinstall": "DIR=\"${NVIM_RPLUGIN_MANIFEST:-$HOME/.config/nvim/rplugin/node}\"; mkdir -p \"$DIR\" && ln -s -f \"$(pwd)\" \"/$DIR\""
12+
},
13+
"dependencies": {
14+
"neovim": "4.10.1"
15+
},
16+
"devDependencies": {
17+
"typescript": "4.6.3"
18+
}
19+
}

nvim-git-rebase-todo/tsconfig.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"extends": "../tsconfig.json",
3+
"compilerOptions": {
4+
"outDir": "dist",
5+
"target": "es2015",
6+
"module": "commonjs",
7+
},
8+
"include": [
9+
"**/*.ts", //
10+
],
11+
"exclude": [
12+
"node_modules", //
13+
"dist"
14+
]
15+
}

nvim-git-rebase-todo/yarn.lock

Lines changed: 236 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,236 @@
1+
# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
2+
# yarn lockfile v1
3+
4+
5+
"@colors/colors@1.5.0":
6+
version "1.5.0"
7+
resolved "https://registry.yarnpkg.com/@colors/colors/-/colors-1.5.0.tgz#bb504579c1cae923e6576a4f5da43d25f97bdbd9"
8+
integrity sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==
9+
10+
"@dabh/diagnostics@^2.0.2":
11+
version "2.0.3"
12+
resolved "https://registry.yarnpkg.com/@dabh/diagnostics/-/diagnostics-2.0.3.tgz#7f7e97ee9a725dffc7808d93668cc984e1dc477a"
13+
integrity sha512-hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==
14+
dependencies:
15+
colorspace "1.1.x"
16+
enabled "2.0.x"
17+
kuler "^2.0.0"
18+
19+
"@msgpack/msgpack@^2.7.1":
20+
version "2.7.2"
21+
resolved "https://registry.yarnpkg.com/@msgpack/msgpack/-/msgpack-2.7.2.tgz#f34b8aa0c49f0dd55eb7eba577081299cbf3f90b"
22+
integrity sha512-rYEi46+gIzufyYUAoHDnRzkWGxajpD9vVXFQ3g1vbjrBm6P7MBmm+s/fqPa46sxa+8FOUdEuRQKaugo5a4JWpw==
23+
24+
async@^3.1.0:
25+
version "3.2.3"
26+
resolved "https://registry.yarnpkg.com/async/-/async-3.2.3.tgz#ac53dafd3f4720ee9e8a160628f18ea91df196c9"
27+
integrity sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==
28+
29+
color-convert@^1.9.3:
30+
version "1.9.3"
31+
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
32+
integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
33+
dependencies:
34+
color-name "1.1.3"
35+
36+
color-name@1.1.3:
37+
version "1.1.3"
38+
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
39+
integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
40+
41+
color-name@^1.0.0:
42+
version "1.1.4"
43+
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
44+
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
45+
46+
color-string@^1.6.0:
47+
version "1.9.0"
48+
resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.0.tgz#63b6ebd1bec11999d1df3a79a7569451ac2be8aa"
49+
integrity sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==
50+
dependencies:
51+
color-name "^1.0.0"
52+
simple-swizzle "^0.2.2"
53+
54+
color@^3.1.3:
55+
version "3.2.1"
56+
resolved "https://registry.yarnpkg.com/color/-/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164"
57+
integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==
58+
dependencies:
59+
color-convert "^1.9.3"
60+
color-string "^1.6.0"
61+
62+
colorspace@1.1.x:
63+
version "1.1.4"
64+
resolved "https://registry.yarnpkg.com/colorspace/-/colorspace-1.1.4.tgz#8d442d1186152f60453bf8070cd66eb364e59243"
65+
integrity sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==
66+
dependencies:
67+
color "^3.1.3"
68+
text-hex "1.0.x"
69+
70+
enabled@2.0.x:
71+
version "2.0.0"
72+
resolved "https://registry.yarnpkg.com/enabled/-/enabled-2.0.0.tgz#f9dd92ec2d6f4bbc0d5d1e64e21d61cd4665e7c2"
73+
integrity sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==
74+
75+
fecha@^4.2.0:
76+
version "4.2.1"
77+
resolved "https://registry.yarnpkg.com/fecha/-/fecha-4.2.1.tgz#0a83ad8f86ef62a091e22bb5a039cd03d23eecce"
78+
integrity sha512-MMMQ0ludy/nBs1/o0zVOiKTpG7qMbonKUzjJgQFEuvq6INZ1OraKPRAWkBq5vlKLOUMpmNYG1JoN3oDPUQ9m3Q==
79+
80+
fn.name@1.x.x:
81+
version "1.1.0"
82+
resolved "https://registry.yarnpkg.com/fn.name/-/fn.name-1.1.0.tgz#26cad8017967aea8731bc42961d04a3d5988accc"
83+
integrity sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==
84+
85+
inherits@^2.0.3:
86+
version "2.0.4"
87+
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
88+
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
89+
90+
is-arrayish@^0.3.1:
91+
version "0.3.2"
92+
resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03"
93+
integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==
94+
95+
is-stream@^2.0.0:
96+
version "2.0.1"
97+
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
98+
integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
99+
100+
kuler@^2.0.0:
101+
version "2.0.0"
102+
resolved "https://registry.yarnpkg.com/kuler/-/kuler-2.0.0.tgz#e2c570a3800388fb44407e851531c1d670b061b3"
103+
integrity sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==
104+
105+
logform@^2.2.0, logform@^2.3.2:
106+
version "2.4.0"
107+
resolved "https://registry.yarnpkg.com/logform/-/logform-2.4.0.tgz#131651715a17d50f09c2a2c1a524ff1a4164bcfe"
108+
integrity sha512-CPSJw4ftjf517EhXZGGvTHHkYobo7ZCc0kvwUoOYcjfR2UVrI66RHj8MCrfAdEitdmFqbu2BYdYs8FHHZSb6iw==
109+
dependencies:
110+
"@colors/colors" "1.5.0"
111+
fecha "^4.2.0"
112+
ms "^2.1.1"
113+
safe-stable-stringify "^2.3.1"
114+
triple-beam "^1.3.0"
115+
116+
lru-cache@^6.0.0:
117+
version "6.0.0"
118+
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
119+
integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
120+
dependencies:
121+
yallist "^4.0.0"
122+
123+
ms@^2.1.1:
124+
version "2.1.3"
125+
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
126+
integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
127+
128+
neovim@4.10.1:
129+
version "4.10.1"
130+
resolved "https://registry.yarnpkg.com/neovim/-/neovim-4.10.1.tgz#ff8655fdcac9bbb9dabea58847ae0644bafbad2c"
131+
integrity sha512-H46Jl2bh/LAFJsitv2MiIK3oCxvQnEK9t3efNMUUkKzsTYlLIikVxGWVk/vJnHzvxoHYBIRB/KHwPAOm+9UStg==
132+
dependencies:
133+
"@msgpack/msgpack" "^2.7.1"
134+
semver "^7.3.5"
135+
winston "3.3.3"
136+
137+
one-time@^1.0.0:
138+
version "1.0.0"
139+
resolved "https://registry.yarnpkg.com/one-time/-/one-time-1.0.0.tgz#e06bc174aed214ed58edede573b433bbf827cb45"
140+
integrity sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==
141+
dependencies:
142+
fn.name "1.x.x"
143+
144+
readable-stream@^3.4.0, readable-stream@^3.6.0:
145+
version "3.6.0"
146+
resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
147+
integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
148+
dependencies:
149+
inherits "^2.0.3"
150+
string_decoder "^1.1.1"
151+
util-deprecate "^1.0.1"
152+
153+
safe-buffer@~5.2.0:
154+
version "5.2.1"
155+
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
156+
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
157+
158+
safe-stable-stringify@^2.3.1:
159+
version "2.3.1"
160+
resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz#ab67cbe1fe7d40603ca641c5e765cb942d04fc73"
161+
integrity sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg==
162+
163+
semver@^7.3.5:
164+
version "7.3.5"
165+
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
166+
integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
167+
dependencies:
168+
lru-cache "^6.0.0"
169+
170+
simple-swizzle@^0.2.2:
171+
version "0.2.2"
172+
resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
173+
integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=
174+
dependencies:
175+
is-arrayish "^0.3.1"
176+
177+
stack-trace@0.0.x:
178+
version "0.0.10"
179+
resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0"
180+
integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=
181+
182+
string_decoder@^1.1.1:
183+
version "1.3.0"
184+
resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
185+
integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
186+
dependencies:
187+
safe-buffer "~5.2.0"
188+
189+
text-hex@1.0.x:
190+
version "1.0.0"
191+
resolved "https://registry.yarnpkg.com/text-hex/-/text-hex-1.0.0.tgz#69dc9c1b17446ee79a92bf5b884bb4b9127506f5"
192+
integrity sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==
193+
194+
triple-beam@^1.3.0:
195+
version "1.3.0"
196+
resolved "https://registry.yarnpkg.com/triple-beam/-/triple-beam-1.3.0.tgz#a595214c7298db8339eeeee083e4d10bd8cb8dd9"
197+
integrity sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==
198+
199+
typescript@4.6.3:
200+
version "4.6.3"
201+
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.3.tgz#eefeafa6afdd31d725584c67a0eaba80f6fc6c6c"
202+
integrity sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw==
203+
204+
util-deprecate@^1.0.1:
205+
version "1.0.2"
206+
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
207+
integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
208+
209+
winston-transport@^4.4.0:
210+
version "4.5.0"
211+
resolved "https://registry.yarnpkg.com/winston-transport/-/winston-transport-4.5.0.tgz#6e7b0dd04d393171ed5e4e4905db265f7ab384fa"
212+
integrity sha512-YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==
213+
dependencies:
214+
logform "^2.3.2"
215+
readable-stream "^3.6.0"
216+
triple-beam "^1.3.0"
217+
218+
winston@3.3.3:
219+
version "3.3.3"
220+
resolved "https://registry.yarnpkg.com/winston/-/winston-3.3.3.tgz#ae6172042cafb29786afa3d09c8ff833ab7c9170"
221+
integrity sha512-oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw==
222+
dependencies:
223+
"@dabh/diagnostics" "^2.0.2"
224+
async "^3.1.0"
225+
is-stream "^2.0.0"
226+
logform "^2.2.0"
227+
one-time "^1.0.0"
228+
readable-stream "^3.4.0"
229+
stack-trace "0.0.x"
230+
triple-beam "^1.3.0"
231+
winston-transport "^4.4.0"
232+
233+
yallist@^4.0.0:
234+
version "4.0.0"
235+
resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
236+
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==

tsconfig.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@
3535
]
3636
},
3737
"exclude": [
38-
"node_modules" //
38+
"node_modules", //
39+
"dist"
3940
],
4041
"include": [
4142
//

0 commit comments

Comments
 (0)