Skip to content

Instantly share code, notes, and snippets.

View dleslie's full-sized avatar

Dan Leslie dleslie

View GitHub Profile
@dleslie
dleslie / gist:1847604
Created February 16, 2012 20:27
Fuck you Microsoft
try
{
DataModel.SubmitChanges(System.Data.Linq.ConflictMode.ContinueOnConflict);
}
catch (System.Data.Linq.ChangeConflictException)
{
// Microsoft sucks, good fucking luck figuring out what causes this particular exception.
}
(defun add-font-lock-keywords (modes new-keywords)
(mapc (lambda (mode)
(font-lock-add-keywords mode `((, (concat "(\\(" (regexp-opt (mapcar 'symbol-name new-keywords) t) "\\)\\>")
(1 font-lock-keyword-face)))))
modes)
t)
(defun remove-font-lock-keywords (modes new-keywords)
(mapc (lambda (mode)
(font-lock-remove-keywords mode `((, (concat "(\\(" (regexp-opt (mapcar 'symbol-name new-keywords) t) "\\)\\>")
@dleslie
dleslie / font-lock-keywords.el
Created February 25, 2012 22:29
Easy add/remove keywords from font lock
(defun add-font-lock-keywords (modes new-keywords)
(mapc (lambda (mode)
(font-lock-add-keywords mode `((, (concat "(\\(" (regexp-opt (mapcar 'symbol-name (remove-if 'numberp new-keywords)) t) "\\)\\>")
(1 font-lock-keyword-face)))))
modes)
t)
(defun remove-font-lock-keywords (modes new-keywords)
(mapc (lambda (mode)
(font-lock-remove-keywords mode `((, (concat "(\\(" (regexp-opt (mapcar 'symbol-name (remove-if 'numberp new-keywords)) t) "\\)\\>")
@dleslie
dleslie / load-scheme-tags.el
Created February 25, 2012 23:41
Load Scheme Keywords from TAGS File
(defun load-scheme-tags (scheme-tags-location)
(interactive)
(let ((existing-tags tags-table-list))
(setq tags-table-list nil)
(visit-tags-table scheme-tags-location)
(tags-completion-table)
(add-font-lock-keywords '(scheme-mode inferior-scheme-mode) tags-completion-table)
(setq tags-table-list existing-tags))
t)
@dleslie
dleslie / custom-scheme.el
Created April 3, 2012 00:43
Dan's Custom Scheme for Emacs
(require 'paredit)
(require 'auto-complete)
(require 'auto-complete-etags)
(require 'yasnippet-bundle)
(require 'scheme)
;; Some utilities of mine
(defun add-font-lock-keywords (modes new-keywords)
(mapc (lambda (mode)
(font-lock-add-keywords mode `((, (concat "(\\(" (regexp-opt (mapcar 'symbol-name (remove-if 'numberp new-keywords)) t) "\\)\\>")
@dleslie
dleslie / gist:2475945
Created April 24, 2012 03:12
Maybe example
(do <maybe>
(if #t
'Nothing
'(Just First))
'(Just Second))
; Returns: Nothing
((do <state>
(x <- (/m! gets (lambda (s) (+ s 1))))
(return x))
@dleslie
dleslie / gist:3230152
Created August 1, 2012 19:56
ex_opengl_pixelshader
(use allegro lolevel)
(require-library allegro)
(import (prefix allegro al:))
(use allegro-glext allegro-c-util)
(define (abort x)
(display x)
(newline)
(assoc 'window-id (frame-parameters (selected-frame)))
(define-syntax lazy-wrap
(syntax-rules ()
((_ val)
(lazy-seq (cons val (lazy-seq '()))))))
(set! video-conf:clear-color (al:make-color-rgb 0 40 70))
(define credits-scene
(scene
(let* ((screen-padding 50) (credit-text "A game by Dan Leslie")
(label-width 200) (label-height 20)
(label-left (+ screen-padding (random (- video-conf:width label-width (* 2 screen-padding)))))
(label-top (+ screen-padding (random (- video-conf:height label-height (* 2 screen-padding)))))
(rect (make-rectangle label-left label-top label-width label-height))
(label (make-label rect credit-text padding-left: 5 padding-right: 5