Skip to content

Commit 5a04d3a

Browse files
authored
Merge pull request #17 from skanehira/feature/add-buffer
Add buffer functions
2 parents 3b23adc + 65f094d commit 5a04d3a

File tree

2 files changed

+113
-0
lines changed

2 files changed

+113
-0
lines changed

vim/function.ts

Lines changed: 109 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,109 @@
1+
import { Denops } from "../deps.ts";
2+
3+
export async function bufadd(denops: Denops, name: string): Promise<number> {
4+
const bufnr = await denops.call("bufadd", name);
5+
return bufnr as number;
6+
}
7+
8+
export async function bufexists(
9+
denops: Denops,
10+
name: string | number,
11+
): Promise<boolean> {
12+
const result = await denops.call("bufexists", name) as number;
13+
return !!result;
14+
}
15+
16+
export async function buflisted(
17+
denops: Denops,
18+
name: string | number,
19+
): Promise<boolean> {
20+
const result = await denops.call("buflisted", name) as number;
21+
return !!result;
22+
}
23+
24+
export async function bufload(
25+
denops: Denops,
26+
name: string | number,
27+
): Promise<void> {
28+
await denops.call("bufload", name);
29+
}
30+
31+
export async function bufloaded(
32+
denops: Denops,
33+
name: string | number,
34+
): Promise<boolean> {
35+
const result = await denops.call("bufloaded", name) as number;
36+
return !!result;
37+
}
38+
39+
export async function bufname(
40+
denops: Denops,
41+
name?: string | number,
42+
): Promise<string> {
43+
return await denops.call("bufname", name) as string;
44+
}
45+
46+
export async function bufnr(
47+
denops: Denops,
48+
name: string | number,
49+
): Promise<number> {
50+
return await denops.call("bufnr", name) as number;
51+
}
52+
53+
export async function bufwinid(
54+
denops: Denops,
55+
name: string | number,
56+
): Promise<number> {
57+
return await denops.call("bufwinid", name) as number;
58+
}
59+
60+
export async function bufwinnr(
61+
denops: Denops,
62+
name: string | number,
63+
): Promise<number> {
64+
return await denops.call("bufwinnr", name) as number;
65+
}
66+
67+
export class FuctionHelper {
68+
#denops: Denops;
69+
70+
constructor(denops: Denops) {
71+
this.#denops = denops;
72+
}
73+
74+
async bufadd(name: string): Promise<number> {
75+
return await bufadd(this.#denops, name);
76+
}
77+
78+
async bufexists(name: string | number): Promise<boolean> {
79+
return await bufexists(this.#denops, name);
80+
}
81+
82+
async buflisted(name: string | number): Promise<boolean> {
83+
return await buflisted(this.#denops, name);
84+
}
85+
86+
async bufload(name: string | number): Promise<void> {
87+
await bufload(this.#denops, name);
88+
}
89+
90+
async bufloaded(name: string | number): Promise<boolean> {
91+
return await bufloaded(this.#denops, name);
92+
}
93+
94+
async bufname(name: string | number): Promise<string> {
95+
return await bufname(this.#denops, name);
96+
}
97+
98+
async bufnr(name: string | number): Promise<number> {
99+
return await bufnr(this.#denops, name);
100+
}
101+
102+
async bufwinid(name: string | number): Promise<number> {
103+
return await bufwinid(this.#denops, name);
104+
}
105+
106+
async bufwinnr(name: string | number): Promise<number> {
107+
return await bufwinnr(this.#denops, name);
108+
}
109+
}

vim/vim.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import { Context, Denops, Dispatcher } from "../deps.ts";
22
import { execute } from "./execute.ts";
33
import { autocmd, AutocmdHelper } from "./autocmd.ts";
44
import { VariableHelper } from "./variable.ts";
5+
import { FuctionHelper } from "./function.ts";
56
import { load } from "./load.ts";
67

78
/**
@@ -23,13 +24,16 @@ export class Vim {
2324
readonly t: VariableHelper;
2425
readonly v: VariableHelper;
2526

27+
readonly fn: FuctionHelper;
28+
2629
constructor(denops: Denops) {
2730
this.#denops = denops;
2831
this.g = new VariableHelper(denops, "g");
2932
this.b = new VariableHelper(denops, "b");
3033
this.w = new VariableHelper(denops, "w");
3134
this.t = new VariableHelper(denops, "t");
3235
this.v = new VariableHelper(denops, "v");
36+
this.fn = new FuctionHelper(denops);
3337
}
3438

3539
/**

0 commit comments

Comments
 (0)