Skip to content

Commit d958566

Browse files
authored
Merge pull request #27 from gamoutatsumi/main
Add some funtions
2 parents 9a6c0a3 + b17e647 commit d958566

File tree

1 file changed

+69
-15
lines changed

1 file changed

+69
-15
lines changed

vim/function.ts

Lines changed: 69 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -72,31 +72,64 @@ export async function exists(denops: Denops, name: string): Promise<boolean> {
7272
export async function getbufline(
7373
denops: Denops,
7474
name: string | number,
75-
lnum: number,
76-
end?: number,
77-
): Promise<string | string[]> {
78-
if (end) {
79-
return await denops.call("getbufline", name, lnum, end) as string[];
80-
}
81-
return await denops.call("getbufline", name, lnum) as string;
75+
lnum: string | number,
76+
end?: string | number,
77+
): Promise<string[]> {
78+
return await denops.call("getbufline", name, lnum, end) as string[];
8279
}
8380

8481
export async function getline(
8582
denops: Denops,
86-
lnum: number,
87-
end?: number,
83+
lnum: string | number,
84+
): Promise<string>;
85+
export async function getline(
86+
denops: Denops,
87+
lnum: string | number,
88+
end: string | number,
89+
): Promise<string[]>;
90+
export async function getline(
91+
denops: Denops,
92+
lnum: string | number,
93+
end?: string | number,
8894
): Promise<string | string[]> {
8995
if (end) {
9096
return await denops.call("getline", lnum, end) as string[];
9197
}
9298
return await denops.call("getline", lnum) as string;
9399
}
94100

95-
export async function has(denops: Denops, name: string): Promise<boolean> {
101+
export async function has(
102+
denops: Denops,
103+
name: string,
104+
check?: boolean,
105+
): Promise<boolean> {
106+
if (check) {
107+
const result = await denops.call("has", name, 1) as number;
108+
return !!result;
109+
}
96110
const result = await denops.call("has", name) as number;
97111
return !!result;
98112
}
99113

114+
export async function setbufline(
115+
denops: Denops,
116+
name: string | number,
117+
lnum: string | number,
118+
text: string | string[],
119+
): Promise<boolean> {
120+
const result = await denops.call("setbufline", name, lnum, text) as number;
121+
return !!result;
122+
}
123+
124+
export async function setline(
125+
denops: Denops,
126+
lnum: string | number,
127+
text: string | string[],
128+
): Promise<boolean> {
129+
const result = await denops.call("setline", lnum, text) as number;
130+
return !!result;
131+
}
132+
100133
export class FunctionHelper {
101134
#denops: Denops;
102135

@@ -144,15 +177,36 @@ export class FunctionHelper {
144177
return await has(this.#denops, name);
145178
}
146179

147-
async getbufline(name: string | number, lnum: number, end?: number) {
180+
async getbufline(
181+
name: string | number,
182+
lnum: string | number,
183+
end?: string | number,
184+
) {
148185
return await getbufline(this.#denops, name, lnum, end);
149186
}
150187

151-
async getline(lnum: number, end?: number) {
152-
return await getline(this.#denops, lnum, end);
188+
async getline(lnum: string | number): Promise<string>;
189+
async getline(lnum: string | number, end: string | number): Promise<string[]>;
190+
async getline(lnum: string | number, end?: string | number) {
191+
if (end) {
192+
return await getline(this.#denops, lnum, end);
193+
}
194+
return await getline(this.#denops, lnum);
153195
}
154196

155-
async has(name: string): Promise<boolean> {
156-
return await has(this.#denops, name);
197+
async has(name: string, check?: boolean): Promise<boolean> {
198+
return await has(this.#denops, name, check);
199+
}
200+
201+
async setbufline(
202+
name: string | number,
203+
lnum: string | number,
204+
text: string | string[],
205+
) {
206+
return await setbufline(this.#denops, name, lnum, text);
207+
}
208+
209+
async setline(lnum: string | number, text: string | string[]) {
210+
return await setline(this.#denops, lnum, text);
157211
}
158212
}

0 commit comments

Comments
 (0)