Skip to content

Instantly share code, notes, and snippets.

Andrew Radev AndrewRadev

Block or report user

Report or block AndrewRadev

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@AndrewRadev
AndrewRadev / main.rs
Last active Nov 13, 2018
Divide successfully or default to zero
View main.rs
trait OrZero {
fn or_zero(self) -> Self;
}
impl OrZero for f64 {
fn or_zero(self) -> Self {
if self.is_normal() { self } else { 0.0 }
}
}
@AndrewRadev
AndrewRadev / keep-track.sh
Last active Oct 21, 2018
Keep track of a long-running process
View keep-track.sh
# Given a long-running process in the terminal:
#
# - Ctrl+Z to suspend it
# - Run `keep-track`
# - Output resumes, when done will show a notification with the time it took for the process to run
#
# Can be customized with an `--icon` to `notify-send`,
# maybe a sound effect added in the `&&` list.
#
function keep-track() {
View hangman_main.rs
extern crate solution;
use solution::*;
use std::io::{self, Write};
fn main() {
let mut game = Game::new("aardvark", 10).unwrap();
let stdin = io::stdin();
println!("Let's play hangman!");
@AndrewRadev
AndrewRadev / jsx.vim
Last active May 30, 2017
gf for react
View jsx.vim
set includeexpr=<SID>Includeexpr()
augroup jsx_autocommands
autocmd!
" Override gf if rails sets it after
autocmd User Rails cmap <buffer><expr> <Plug><cfile> <SID>Includeexpr()
augroup END
function! s:Includeexpr()
@AndrewRadev
AndrewRadev / ascii_image.rs
Last active Mar 21, 2017
Convert an image to simple ASCII-art
View ascii_image.rs
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) {
View ftplugin_ruby.vim
" 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 Apr 17, 2018
Use the "lebab" tool through Vim
View lebab.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
View indent_test_large_complex_file.rb
class AroundEverything
class Nested
def example
some_chain.continued_on.
next_line.method do |one, two|
<<-EOF
Body of method
EOF
end
View indent_test_active_record.rb
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 Jan 5, 2017
A simple benchmark for vim-ruby indentation
View benchmark.vim
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
You can’t perform that action at this time.