Skip to content

Instantly share code, notes, and snippets.

View lencioni's full-sized avatar

Joe Lencioni lencioni

  • Airbnb
  • Northfield, Minnesota, USA
  • X @lencioni
View GitHub Profile
@lencioni
lencioni / gist:5527890
Created May 6, 2013 20:24
Example of evaluating values of sass variables
require 'sass'
class MyVisitor < Sass::Tree::Visitors::Base
def visit_variable(node)
@environment ||= Sass::Environment.new
@environment.set_local_var(node.name, node.expr)
puts node.expr.perform(@environment)
end
end
@lencioni
lencioni / gist:fb2ce3a03402b11846dc
Created September 26, 2014 14:46
Keybase proof
### Keybase proof
I hereby claim:
* I am lencioni on github.
* I am lencioni (https://keybase.io/lencioni) on keybase.
* I have a public key whose fingerprint is 0B1E 0470 9438 4097 8757 FD32 F1AB FB88 45AB 1D10
To claim this, I am signing this object:
# Converts global chained `var`s into single-line vars.
#
# Example:
#
# >> cat app/assets/javascripts/test.js
# var A = require('a'),
# B = require('b'),
# C = B.C;
#
# var D = function() {};
@lencioni
lencioni / javascript.snippets
Created November 15, 2014 22:08
console.log(...) snippet
snippet cl "console.log(...)" b
console.log($0);
endsnippet
@lencioni
lencioni / javascript.snippets
Created November 15, 2014 22:12
function definition snippet
snippet fun "function with dynamic docblock" b
`!p
# Currently Ultisnips does not support dynamic tabstops, so we cannot add
# tabstops to the datatype for these param tags until that feature is added.
def formatTag(argument):
return " * @param {{}} {0}".format(argument)
arguments = t[2].split(',')
arguments = [argument.strip() for argument in arguments if argument]
@lencioni
lencioni / javascript.snippets
Last active August 29, 2015 14:09
require() JavaScript snippet
snippet re "require" b
var `!p
def formatVariableName(path):
lastPart = path.split('/')[-1]
if lastPart == 'underscore':
return '_'
elif lastPart == 'jquery':
return '$'
else:
return re.sub(r'[_\-]', '', lastPart.title())
@lencioni
lencioni / javascript.snippets
Last active May 28, 2020 20:03
module.exports snippet
snippet me "module.exports" b
module.exports = ${1:`!p snip.rv = ''.join(x.title() for x in re.sub('\.js$', '', snip.basename or 'ModuleName').split('_'))`};$0
endsnippet
@lencioni
lencioni / jsx.snippets
Last active August 29, 2016 18:08
React.js createClass snippet
snippet cc "createClass" b
var ${1:`!p snip.rv = ''.join(x.title() for x in re.sub('\.js$', '', snip.basename or 'ModuleName').split('_'))`} = React.createClass({
/**
* @return {Object}
*/
render: function() {
return (
$0
);
}
@lencioni
lencioni / gist:a96982de399985141fa1
Created November 16, 2014 17:29
Cricket wireless Nexus 5 setup
1.Tap Settings > Mobile Networks
(or Mobile Data) > Access Point Names > New APN (may have to tap
Menu button to see this option).
2.Enter the following APN info:
Name: Internet
APN: ndo
Proxy: Not Set
Port: Not Set
Username: Not Set
Password: Not Set
@lencioni
lencioni / autocomplete.vim
Created November 17, 2014 17:17
UltiSnips and YouCompleteMe configuration
" YouCompleteMe and UltiSnips compatibility, with the helper of supertab
" (via http://stackoverflow.com/a/22253548/1626737)
let g:SuperTabDefaultCompletionType = '<C-n>'
let g:SuperTabCrMapping = 0
let g:UltiSnipsExpandTrigger = '<tab>'
let g:UltiSnipsJumpForwardTrigger = '<tab>'
let g:UltiSnipsJumpBackwardTrigger = '<s-tab>'
let g:ycm_key_list_select_completion = ['<C-j>', '<C-n>', '<Down>']
let g:ycm_key_list_previous_completion = ['<C-k>', '<C-p>', '<Up>']