Skip to content

Instantly share code, notes, and snippets.

View johnfredcee's full-sized avatar
🚀
On an intergalactic cruise

John Connors johnfredcee

🚀
On an intergalactic cruise
View GitHub Profile
@johnfredcee
johnfredcee / c-func-doc.el
Created December 2, 2012 08:26
Generate C++ function comment..
(defun is-argument-list-delimiter (chr)
(or (= chr ?\,) (= chr ?\)) (= chr ?\=)))
(defun extract-c-arguments ()
(interactive)
(let
((open-brace
(progn (beginning-of-line)
(search-forward "(")
(backward-char)
@johnfredcee
johnfredcee / read-only-code.el
Created December 3, 2012 17:01
Emacs - protect your code from accidental editing
(defun make-some-files-read-only ()
"when file opened is of a certain mode, make it read only"
(when (memq major-mode '(c++-mode python-mode c-mode actionscript-mode unrealscript-mode lisp-mode))
(toggle-read-only 1)))
(add-hook 'find-file-hook 'make-some-files-read-only)
;; assume filename is same as classname
(defun get-class-name ()
(file-name-nondirectory (file-name-sans-extension buffer-file-name)))
;; insert it interactively
(defun insert-class-name ()
(interactive)
(insert (get-class-name)))
;; a convienence function that lets us switch between source/header files in a project
(defun buffer-other-eproject-files ()
(interactive)
(let*
((buffer-file (file-name-nondirectory (buffer-file-name)))
(other-buffer-files
(delq nil
(mapcar (lambda (x) (and
(equal (file-name-nondirectory (file-name-sans-extension x)) (file-name-sans-extension buffer-file))
(not (equal (file-name-nondirectory x) buffer-file))
@johnfredcee
johnfredcee / gist:5073173
Last active December 14, 2015 10:38
Another Scons / Flymake build target
if (ARGUMENTS.get("SYNTAX",0) == 0):
env.Alias("all", env["AQUA_LIBRARIES"])
env.Default("all")
else:
env["CCFLAGS"] = [ "-fsyntax-only"] + env["CCFLAGS"]
object_file = COMMAND_LINE_TARGETS[0]
cpp_file = os.path.splitext(object_file)[0] + ".cpp"
env.Default(env.Command( object_file, cpp_file,
"$CC $CFLAGS $CCFLAGS $_CCCOMCOM " + cpp_file))
@johnfredcee
johnfredcee / dotemacs.el
Created March 24, 2013 16:11
Emacs Init for Samsung Laptop
;; generic Emacs utility
;;; ------------------------------------------------------------------
(defun add-subdirs-to-load-path (dir)
(let ((default-directory (concat dir "/")))
(normal-top-level-add-subdirs-to-load-path)))
;;; basic load-path setup
;;; ------------------------------------------------------------------
@johnfredcee
johnfredcee / generic.c
Created January 1, 2014 16:41
Sketch of a C based object system that decouples objects and functions
typedef struct
{
unsigned code;
} class;
@johnfredcee
johnfredcee / world.lisp
Last active January 2, 2016 03:19
Stub for CL-TCOD
(defparameter *x* 45)
(defparameter *y* 20)
(defparameter *running* t)
(defun main ()
(tcod:console-init-root 80 50 :title "Libtcod Lisp Tutorial" :fullscreen? nil :renderer :renderer-sdl)
(loop
while *running*
do
(defpackage #:trivial-gui
(:use #:cl))
(in-package #:trivial-gui)
(defmethod glop:on-key (window pressed keycode keysym text)
(format t "Key ~:[released~;pressed~]: ~D (~S ~S)~%" pressed keycode keysym text)
(format t "Key pressed: ~S~%" (glop:key-pressed keycode))
(when (and (not pressed) (eq keysym :escape))
@johnfredcee
johnfredcee / tagwank.py
Created January 21, 2014 16:13
New tag - generating utility. Portable.
import sys
import getopt
import os
import os.path
import subprocess
import ConfigParser
# Example config
# [Global]