Skip to content

Instantly share code, notes, and snippets.

View acidstorm's full-sized avatar

Victor Akujobi acidstorm

View GitHub Profile
@acidstorm
acidstorm / builders.ts
Last active December 14, 2023 22:55
Fun with builders in TS
// Fun with the builder pattern
type ObjectBuilder<T> = {
[K in keyof T as Setter<K>]: (value: T[K]) => void
} & {
[K in keyof T as Getter<K>]: () => T[K]
}
& Builder<T>
type Setter<T> = T extends infer U extends string ? `set${Capitalize<U>}` : never
@acidstorm
acidstorm / kitty.conf
Created April 30, 2020 22:37
kitty configuration
# vim:fileencoding=utf-8:ft=conf:foldmethod=marker
#: Fonts {{{
#: kitty has very powerful font management. You can configure
#: individual font faces and even specify special fonts for particular
#: characters.
font_family JetBrainsMono Nerd Font Mono Bold
bold_font JetBrainsMono Nerd Font Mono Bold
@acidstorm
acidstorm / init.vim
Last active May 14, 2020 08:30
Vim config
call plug#begin("~/.vim/plugged")
Plug 'neoclide/coc.nvim', {'branch': 'release'}
Plug 'preservim/nerdtree'
Plug 'mechatroner/rainbow_csv'
Plug 'tpope/vim-projectionist'
Plug 'tpope/vim-unimpaired'
Plug 'puremourning/vimspector'
Plug 'tpope/vim-commentary'
"Plug 'Xuyuanp/nerdtree-git-plugin'
let g:coc_global_extensions = ['coc-emmet', 'coc-css', 'coc-html', 'coc-json', 'coc-tsserver']

Keybase proof

I hereby claim:

  • I am acidstorm on github.
  • I am vakujobi (https://keybase.io/vakujobi) on keybase.
  • I have a public key ASBSn3JXoKxFW2uMiFuUFeiRnD90eDECH047gT_VwVfJeAo

To claim this, I am signing this object: