Skip to content

Instantly share code, notes, and snippets.

View tweekmonster's full-sized avatar

Tommy Allen tweekmonster

View GitHub Profile
@tweekmonster
tweekmonster / .nvimrc
Last active February 5, 2017 02:22
.nvimrc script for Neovim development using Neomake
if !has('nvim')
finish
endif
let s:path = expand('<sfile>:p:h')
let s:target = 'all'
let s:error_path = s:path.'/tmp/errors.json'
let s:errors_url = 'https://raw.githubusercontent.com/neovim/doc/gh-pages/reports/clint/errors.json'
let g:neomake_make_maker = {
@tweekmonster
tweekmonster / relativenumber_op.vim
Created January 26, 2018 04:29
Show relative number column when using certain operator keys
" Requires 'timeoutlen' to be low enough for this to be practical:
" set timeoutlen=100
function! s:relative_number_op(key) abort
let old_rn = &l:relativenumber
let &l:relativenumber = 1
redraw
let seq = a:key
while 1
@tweekmonster
tweekmonster / strict_types.py
Created January 4, 2020 21:40
Decorator for enforcing strict type annotations on functions
import typing
import inspect
import functools
def strict_types(func: typing.Callable):
"""Decorator for enforcing strict type annotations"""
argspec = inspect.getfullargspec(func)
ret_type = argspec.annotations.pop('return', None)
@tweekmonster
tweekmonster / ansi_color_text.py
Created May 28, 2020 21:17
Simple colored ANSI sequence text printing
import sys
BLACK = 0
RED = 1
GREEN = 2
YELLOW = 3
BLUE = 4
MAGENTA = 5
CYAN = 6
@tweekmonster
tweekmonster / pythonrc.py
Created March 2, 2023 20:24
Startup script to use ipython (if available in environment) when python is ran without arguments
import os
import sys
import site
if len(sys.argv) == 1:
del os.environ['PYTHONSTARTUP']
sys.path.append(site.USER_SITE)
try:
if 'IPython' in sys.modules: