Skip to content

Instantly share code, notes, and snippets.

View osa1's full-sized avatar

Ömer Sinan Ağacan osa1

View GitHub Profile
[package]
name = "listbox-dnd"
version = "0.1.0"
authors = ["Ömer Sinan Ağacan <omeragacan@gmail.com>"]
edition = "2018"
[dependencies]
cairo-rs = { git = "https://github.com/gtk-rs/cairo.git" }
gdk = { git = "https://github.com/gtk-rs/gdk.git" }
lazy_static = "1.2.0"
#!/bin/bash
set -x
execs=( CAPS caps dmenu_open eng hstags keys trk )
mkdir $HOME/bin || true
for exec in "${execs[@]}"; do
ln -s `pwd`/$exec $HOME/bin/$exec
#!/bin/bash
set -e
set -x
git submodule update --init
make distclean
./boot
./configure
@osa1
osa1 / gist:626e0dda076378a55a8ef4b06d28108a
Last active September 4, 2018 07:36
Show commit hash in when viewing a commit in fugitive
diff --git a/autoload/fugitive.vim b/autoload/fugitive.vim
index 1cc3d44..4a99b06 100644
--- a/autoload/fugitive.vim
+++ b/autoload/fugitive.vim
@@ -1524,7 +1524,7 @@ function! fugitive#BufReadCmd(...) abort
if b:fugitive_display_format
call s:ReplaceCmd([dir, 'cat-file', b:fugitive_type, rev])
else
- call s:ReplaceCmd([dir, 'show', '--no-color', '--pretty=format:tree%x20%T%nparent%x20%P%nauthor%x20%an%x20<%ae>%x20%ad%ncommitter%x20%cn%x20<%ce>%x20%cd%nencoding%x20%e%n%n%s%n%n%b', rev])
+ call s:ReplaceCmd([dir, 'show', '--no-color', '--pretty=format:commit%x20%H%ntree%x20%T%nparent%x20%P%nauthor%x20%an%x20<%ae>%x20%ad%ncommitter%x20%cn%x20<%ce>%x20%cd%nencoding%x20%e%n%n%s%n%n%b', rev])
@osa1
osa1 / Main.hs
Last active August 22, 2018 05:59
{-# LANGUAGE ForeignFunctionInterface #-}
module Main where
import System.Clock -- clock
import Foreign.C.Types -- base
foreign import ccall unsafe "my_sleep" sleep_unsafe :: CInt -> IO CInt
foreign import ccall safe "my_sleep" sleep_safe :: CInt -> IO CInt
@osa1
osa1 / gist:aa28bb5c94a74e96e870ddde846b2e9c
Last active October 26, 2017 17:55
.ghci for fuzzy file loading
import System.IO.Temp (withSystemTempFile)
import System.Process (runProcess, waitForProcess)
:{
let loadFuzzy _ = do
withSystemTempFile "fzf_out" $ \f h -> do
p <- runProcess "fzf" [] Nothing Nothing Nothing (Just h) Nothing
_ <- waitForProcess p
out <- readFile f
return (":load " ++ init out)
@osa1
osa1 / Main.hs
Last active November 6, 2017 12:56
parallel scheduler
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeFamilies #-}
module Main where
@osa1
osa1 / errors.hs
Last active May 31, 2017 13:04
More freer and exceptions
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TupleSections #-}
{-# LANGUAGE TypeApplications #-}
{-# LANGUAGE TypeOperators #-}
import Control.Monad.Eff
module ExpandOrPats where
{-
When desugaring we may want to be smarter than this, but for checking purposes simple expansion
of or patterns into non-or-patterns is fine.
In GHC a match has this type:
data Match id body
= Match {
@osa1
osa1 / checked.hs
Created February 24, 2017 20:02
lightweight checked exceptions with freer
{-# LANGUAGE CPP #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE ExistentialQuantification #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE GADTs #-}
{-# LANGUAGE IncoherentInstances #-}
{-# LANGUAGE RankNTypes #-}
{-# LANGUAGE RoleAnnotations #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TypeOperators #-}