Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

View AndrewRadev's full-sized avatar

Andrew Radev AndrewRadev

View GitHub Profile
@AndrewRadev
AndrewRadev / ascii_image.rs
Last active March 21, 2017 14:52
Convert an image to simple ASCII-art
extern crate image;
use std::io::File;
use image::GenericImage;
fn main() {
let path = Path::new("examples/test_image.png");
let file = File::open(&path);
match image::load(file, image::ImageFormat::PNG) {
" Define what color the private area will be
hi rubyPrivateArea ctermbg=darkgray
function! s:MarkPrivateArea()
" Clear out any previous matches
call clearmatches()
" Store the current view, in order to restore it later
let saved_view = winsaveview()
@AndrewRadev
AndrewRadev / lebab.vim
Last active April 17, 2018 18:58
Use the "lebab" tool through Vim
" Invoke the `lebab` tool on the current buffer (https://github.com/lebab/lebab)
"
" Usage:
"
" :Lebab <transform1> <transform2> [...]
"
" This will run all the transforms specified and replace the buffer with the
" results. The available transforms tab-complete.
"
command! -nargs=+ -complete=custom,s:LebabComplete
class AroundEverything
class Nested
def example
some_chain.continued_on.
next_line.method do |one, two|
<<-EOF
Body of method
EOF
end
module ActiveRecord
class Attribute # :nodoc:
class << self
def from_database(name, value, type)
FromDatabase.new(name, value, type)
end
def from_user(name, value, type)
FromUser.new(name, value, type)
end
@AndrewRadev
AndrewRadev / benchmark.vim
Created January 5, 2017 15:58
A simple benchmark for vim-ruby indentation
function! s:Stats(list)
let sum = 0
for item in a:list
let sum += item
endfor
let mean = sum / len(a:list)
let sum_deviations = 0
for item in a:list
@AndrewRadev
AndrewRadev / convert_dict.vim
Created December 28, 2016 12:15
Convert a python dict into a tuple of pairs
command! ConvertDict call s:ConvertDict()
function! s:ConvertDict()
" Save view for restoring later
let saved_view = winsaveview()
" If we're not in a dict, do nothing
if searchpair('{', '', '}', 'bcW', '', line('.')) <= 0
return
endif
" The filename used for the cfile
let s:cfile_filename = ''
" The last mtime of the filename
let s:cfile_mtime = -1
" Define a command that can be called like:
"
" Cfile errors.txt
"
" Apart from loading the error file in the quickfix window, it also
@AndrewRadev
AndrewRadev / custom_ember_gf.vim
Last active May 22, 2016 12:58
An example for a custom ember_tools gf callback
" This is a project-specific Vim file that boosts ember_tools' gf mapping to
" follow translation keys to their yaml files.
let g:ember_tools_custom_gf_callbacks = [
\ 'EmberGfTranslations'
\ ]
function! EmberGfTranslations()
" only emblem files in this project
if &filetype != 'emblem'
let g:rails_gf_callbacks = [
\ 'RailsGfTranslation'
\ ]
function! RailsGfTranslation()
let saved_iskeyword = &iskeyword
set iskeyword+=.
if !ember_tools#search#UnderCursor('\%(I18n\.\)\=t(\=[''"]\zs\k\+[''"]')
let &iskeyword = saved_iskeyword