Skip to content

Instantly share code, notes, and snippets.

View kuuote's full-sized avatar
🙃
I may be slow to respond.

kuuote

🙃
I may be slow to respond.
View GitHub Profile
@kuuote
kuuote / random_first.ts
Created January 8, 2024 04:22
fuzzyfinderのsorterを魔改造して、プロンプトがない時の表示順序をランダム化するとかも便利か……? by atusy
import {
BaseFilter,
FilterArguments,
} from "https://deno.land/x/ddu_vim@v3.5.0/base/filter.ts";
import { Context, DduItem } from "https://deno.land/x/ddu_vim@v3.5.0/types.ts";
type Never = Record<PropertyKey, never>;
export class Filter extends BaseFilter<Never> {
#cache = new WeakMap<Context, Map<string, number>>();
@kuuote
kuuote / json.vim
Created December 18, 2023 10:58
parses subset of ECMA-404
" ws以外の全ての関数は[result, newpos]を返す
function! s:object(in, pos) abort
let p = s:ws(a:in, a:pos + 1)
if a:in[p] == 125 " }
return [{}, p + 1]
endif
let acc = {}
while v:true
let [r, p] = s:member(a:in, p)
@kuuote
kuuote / slurp_window.ts
Created December 9, 2023 10:50
Denoからslurpとswaymsg叩いてクリックしたウィンドウのサイズを取得するやつ
import * as u from "https://deno.land/x/unknownutil@v3.11.0/mod.ts";
import { is } from "https://deno.land/x/unknownutil@v3.11.0/mod.ts";
type Point = {
x: number;
y: number;
};
type Rect = Point & {
width: number;
@kuuote
kuuote / clip.sh
Created February 24, 2023 11:08
i3でスッとVimを出して保存した結果をクリップボードにコピペするやつ
#!/bin/bash -u
touch /tmp/clip
wezterm start --class Floaterm nvim /tmp/clip || exit 1 # Vimが正しく終了しなかった時はコピーしない
# head -c -1は末尾の改行を削ぎ落とすやつ
head -c -1 /tmp/clip | xclip -selection clipboard
notify-send -t 1000 copied
@kuuote
kuuote / boot.sh
Created January 6, 2023 18:32
爆速コンテナ
#!/bin/bash -u
if [[ $(id -u) != 0 ]]; then
exec sudo $0 $@
fi
base=/tmp/archbase
root=/tmp/archroot
mkdir -p /tmp/gen
function! BF(fxxk) abort
let mem = 0z00
for i in range(15)
let mem = mem + mem
endfor
let ip = 0
let dp = 0
let out = []
while ip < len(a:fxxk)
let c = a:fxxk[ip]
@kuuote
kuuote / colorize.vim
Created September 6, 2021 16:25
Imitation of 3bmd's colorize
" 括弧を収集
function! s:collect() abort
let view = winsaveview()
let pairs = []
call cursor([1, 1])
if search('(\|)', 'cW')
call add(pairs, [getline('.')[col('.')-1], [line('.'), col('.')]])
endif
while search('(\|)', 'W')
@kuuote
kuuote / build
Last active July 19, 2021 13:25
denopsでGoのwasm読めるぞ
#!/bin/bash -u
go mod init hoge
GOOS=js GOARCH=wasm go build -v -o main.wasm
@kuuote
kuuote / kana.vim
Created July 12, 2021 14:04
Vimでかな入力するやつ
function! kana#init() abort
let s:state = {}
let s:state.preedit = ""
let s:state.preedit_next = ""
let s:state.kakutei = v:false
let s:state.feed = ""
let s:table = json_decode(join(readfile("table.json"), ""))
call kana#map()
endfunction
@kuuote
kuuote / .fonts.conf
Created July 2, 2021 14:07
XMLつらいでござる〜
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!-- monospace -->
<match target="pattern">
<test qual="any" name="family"><string>monospace</string></test>
<edit name="family" mode="prepend" binding="same"><string>Noto Sans Mono</string></edit>
<edit name="family" mode="append" binding="same"><string>Noto Sans Mono CJK JP</string></edit>
</match>
<!-- sans-serif -->