Skip to content

Instantly share code, notes, and snippets.

View eagletmt's full-sized avatar

Kohei Suzuki eagletmt

View GitHub Profile
@eagletmt
eagletmt / ghc-pkg.log
Created January 30, 2013 08:12
ghc-pkg list
/usr/lib/ghc-7.6.1/package.conf.d:
Cabal-1.16.0
array-0.4.0.1
base-4.6.0.0
bin-package-db-0.0.0.0
binary-0.5.1.1
bytestring-0.10.0.0
containers-0.5.0.0
deepseq-1.3.0.1
directory-1.2.0.0
@eagletmt
eagletmt / Goto.hs
Created January 1, 2013 13:00
Prompt version of XMonad.Actions.WindowBringer.gotoMenu
module XMonad.Prompt.Goto (gotoPrompt, GotoPrompt) where
import XMonad.Prompt
import XMonad.Actions.WindowBringer (windowMap)
import XMonad.Core (X)
import XMonad.Operations (windows)
import qualified XMonad.StackSet as W
import Data.List
import qualified Data.Map as M
data GotoPrompt = GotoPrompt
@eagletmt
eagletmt / reuse-newtab.js
Created October 12, 2012 06:02
:tabopen したときに、about:newtab があったらそこに開く
(function() {
let U = liberator.plugins.libly.$U;
let tabopen = commands.get('tabopen');
let open = commands.get('open');
U.around(tabopen, 'action', function(next, args) {
for each ([idx, tab] in tabs.browsers) {
if (tab.currentURI.spec == 'about:newtab') {
tabs.select(idx);
return open.action.apply(open, args);
" let g:android_sdk_path = '/opt/android-sdk'
let s:source = { 'name': 'android-docs' }
function! unite#sources#android_docs#define()
return s:source
endfunction
function! s:source.gather_candidates(args, context)
return map(readfile(g:android_sdk_path . '/docs/sitemap.txt'), 's:create(v:val)')
#!/bin/bash
AVD="$1"
if [ -z "$AVD" ]; then
echo "usage: $0 <avd name>"
exit 1
fi
emulator-arm -avd "$AVD" -no-window &
ant clean debug
echo 'Waiting for device...'
@eagletmt
eagletmt / exclude.c
Created June 8, 2012 18:33
exclude/unextend
#include <ruby.h>
#include <ruby/backward/classext.h>
static void exclude(VALUE prev, VALUE mod)
{
Check_Type(mod, T_MODULE);
VALUE klass = RCLASS_SUPER(prev);
for (; klass; prev = klass, klass = RCLASS_SUPER(klass)) {
if (RCLASS(klass)->m_tbl == RCLASS(mod)->m_tbl) {
RCLASS_SUPER(prev) = RCLASS_SUPER(klass);
@eagletmt
eagletmt / cabal-upgrade.rb
Created May 13, 2012 15:22
cabal-upgrade
#!/usr/bin/ruby
IGNORE_PKG = [
]
JOBS = 4
Thread.abort_on_exception = true
th = Thread.start do
`cab outdated`.lines.map { |line| line.split.first }.delete_if { |pkg| IGNORE_PKG.include? pkg }
end
python import vim, os
function! Spawn(argv)
python << EOM
argv = vim.eval('a:argv')
pid = os.spawnvp(os.P_NOWAIT, argv[0], argv)
vim.command('let pid = %d' % pid)
EOM
return pid
endfunction
function! VP()
let l:proc = vimproc#popen2(['/bin/echo', 'hoge'])
call system('/bin/sleep 3')
call l:proc.checkpid()
endfunction
--- _cabal.orig 2012-03-31 04:25:52.116329550 +0900
+++ _cabal 2012-03-31 04:29:28.954395493 +0900
@@ -352,7 +352,7 @@
if ( [[ ${+_cabal_available_packages} -eq 0 ]] || _cache_invalid CABAL_AVAILABLE_PACKAGES ) &&
! _retrieve_cache CABAL_AVAILABLE_PACKAGES;
then
- _cabal_available_packages=( $(cabal list --simple-output | cut -d' ' -f1 | uniq) )
+ _cabal_available_packages=( $(tar tf ~/.cabal/packages/hackage.haskell.org/00-index.tar | grep / | cut -d/ -f1 | uniq) )
_store_cache CABAL_AVAILABLE_PACKAGES _cabal_available_packages
fi