Skip to content

Instantly share code, notes, and snippets.

View bquistorff's full-sized avatar

Brian Quistorff bquistorff

View GitHub Profile
@bquistorff
bquistorff / Stata-syntax-highlighting-notepad++.xml
Last active June 15, 2022 08:47
Notepad++ syntax highlighting file for Stata code
<NotepadPlus>
<UserLang name="Stata" ext="do ado" udlVersion="2.1">
<Settings>
<Global caseIgnored="yes" allowFoldOfComments="no" foldCompact="no" forcePureLC="2" decimalSeparator="0" />
<Prefix Keywords1="no" Keywords2="no" Keywords3="no" Keywords4="no" Keywords5="no" Keywords6="no" Keywords7="yes" Keywords8="no" />
</Settings>
<KeywordLists>
<Keywords name="Comments">00// 00* 00/// 01 02 03/* 04*/</Keywords>
<Keywords name="Numbers, prefix1"></Keywords>
<Keywords name="Numbers, prefix2"></Keywords>
@bquistorff
bquistorff / makefile
Created November 20, 2014 03:55
Makefile for a Stata project
# If you don't list all dependencies for code (because maybe it varies programmatically) then you can force a remake by doing 'make -B <target>. Note that it will remake all dependencies!
#nice-ness. Uncomment a line to enable. Default is +10
#nice_prefix := nice
#nice_prefix := nice -n10
############################# Project-specific Entries ####################
# which entries use parallel and need a windows gateway
# from $grep -r eval_synth . --include="*.do"
@bquistorff
bquistorff / statab.sh
Last active June 5, 2019 18:21 — forked from pschumm/statab
Wrapper for launching Stata in batch-mode
#! /bin/bash
# Wrapper for Stata batch-mode which:
# -issues an informative error msg and appropriate (possibly non-zero) return code
# -allows an implicit -do- when called with just a do file
# Requirements: set $STATABATCH (e.g. 'stata-mp -b')
# updated from Phil Schumm's version at https://gist.github.com/pschumm/b967dfc7f723507ac4be
args=$# # number of args
@bquistorff
bquistorff / gen-makefile.sh
Last active April 4, 2018 13:51
Generates a makefile keep Stata module installed files up-to-date with changes to the installation files
#!/bin/bash
#make a package-specific makefile
# Requirement: set the environment variable STATA_PLATFORM
# The platform names are:
# WIN (32-bit x86) and WIN64A (64-bit x86-64) for Windows;
# MACINTEL (32-bit Intel, GUI), OSX.X86 (32-bit Intel, console), MACINTEL64 (64-bit Intel, GUI), OSX.X8664 (64-bit Intel, console), MAC (32-bit PowerPC), and OSX.PPC (32-bit PowerPC), for Mac;
# LINUX (32-bit x86), LINUX64 (64-bit x86-64), SOL64, and SOLX8664 (64-bit x86-64) for Unix.
# To do: generate this automatically
@bquistorff
bquistorff / statweave.module
Created August 16, 2015 15:51
LyX module for StatWeave functionality for Stata
#\DeclareLyXModule[statweave->latex,fancyvrb.sty]{Statweave}
#DescriptionBegin
#Allows to use the statistical languages as a literate programming tool via Statweave
#For more info see the LyX example file statweave.lyx.
#Base languages +Unix, DOS, Linux, IML, Shell (but only Opts & code chunk).
#DescriptionEnd
#Category: literate
#Excludes:
Format 35
@bquistorff
bquistorff / normalize_log.sed
Created November 20, 2014 02:10
Utility for normalizing Stata log files
#!/usr/bin/sed -f
#### Standard Stata output ####
### Time/speed-specific specific
s/[ 0-9][0-9] [A-Z][a-z][a-z] [0-9]\{4\},\? ..:..\(:..\)\?/-normalized-/g
### Machine-specific
##OS-dependent: file path
@bquistorff
bquistorff / normalize_gph.py
Created November 20, 2014 02:11
Normalizes a Stata gph file
#! /usr/bin/env python
'''
Normalizes a Stata .gph graph file to remove build-specific information.
Filepaths, dates, times, and random IDs are converted so that the file
will be the same no matter where it is built.
Pass in a file pattern (that is quoted so the shell doesn't expand it).
To do:
@bquistorff
bquistorff / rm-non-svn.sh
Created November 20, 2014 03:32
Remove non-versioned files
#! /bin/bash
# Removed non-versioned files recursively (otherwise pipe through grep -v '\\')
svn status | grep ^\? | cut -c 9- | sed -e 's/\\/\//g' | xargs -Ifile rm -rf file
@bquistorff
bquistorff / svn_batch_rename.sh
Created November 20, 2014 03:35
Batch renames SVN files
#!/bin/bash
# renames files (and svn mv's them if in svn)
# not sure if this works if there is whitespace in these vars
# use from base of project
findstr=$1
replacestr=$2
# It currently doesn't search in hidden folders
# for no recursion, use:
# for i in *
@bquistorff
bquistorff / cli_build_proj_mlib.do
Created November 20, 2014 04:15
Build's Stata project's mlib of local mata files
* all mata objects used across files (or even just all)
* Should be made into an mlib so you don't have to worry
* about including multiple times.
* This should also help a bit with speed.
*Possibly get some project-specific settings
*qui include ....do
* Load all the mata files in ado/
local mata_files : dir "ado" files "*.mata"