Merge branch 'master' of git.blakenorth.net/home/git/dotfiles

This commit is contained in:
PowerUser64 2022-04-13 17:04:27 -07:00
commit ed35809110
6 changed files with 41 additions and 21 deletions

View file

@ -104,7 +104,7 @@ vim.cmd 'let g:markdown_fenced_languages = [ "bash=sh", "javascript", "cpp=cpp",
--- autocmd's ---
-- Set comment strings
vim.cmd 'autocmd FileType crontab set commentstring=#\\ %s'
vim.cmd 'autocmd FileType crontab set commentstring=#%s'
-- vim.cmd 'autocmd FileType rmd set commentstring=<!--\\ %s\\ -->'
-- Automatically jump to the last position in a file when opening

View file

@ -12,7 +12,8 @@
BASE_DIR="${NOTES_DIR:-"$HOME/Documents/college/current"}"
EDITOR="nvim"
EDITOR_CMD="nvim -c :ZenMode"
DEFAULT_NEW_NOTE_NAME="$(date +'%m-%d').md"
DEFAULT_NEW_NOTE_EXT=.md
DEFAULT_NEW_NOTE_NAME="$(date +'%m-%d')$DEFAULT_NEW_NOTE_EXT"
# Some fzf commands
FZF="fzf -1 --layout=reverse --info=inline --height=10%"
@ -26,6 +27,7 @@ usage() {
[edit|ed] [folder] <note name> Search for and edit a text document in a folder
ned Edit ned
help Print this message
cd [folder] Open a shell in a directory or the default directory
Notes:
Edit 'T' to get today's note
@ -69,13 +71,15 @@ new() {
# Note name
if [ -n "$3" ]; then
NEW_NOTE_NAME="$3.md"
NEW_NOTE_NAME="$3"
else
NEW_NOTE_NAME="$DEFAULT_NEW_NOTE_NAME"
fi
# Note dir
NEW_NOTE_DIR="$BASE_DIR/$(cd "$BASE_DIR" && fd -d 1 | sed 's-\./--g' | $FZF_SEARCH "$2")" || exit
NEW_NOTE_DIR="$BASE_DIR/$(cd "$BASE_DIR" && fd -d 1 | sed 's-\./--g' | $FZF_SEARCH "$2")/notes" || exit
[ -d "${NEW_NOTE_DIR%/*}" ] || mkdir "${NEW_NOTE_DIR%/*}"
if [ -f "$NEW_NOTE_DIR/$NEW_NOTE_NAME" ]; then
open_file "$NEW_NOTE_DIR/$NEW_NOTE_NAME"
@ -83,7 +87,7 @@ new() {
cd "$NEW_NOTE_DIR" || exit
# apply a template for notes
cat <<-EOF >> "$NEW_NOTE_DIR/$NEW_NOTE_NAME"
# $NEW_NOTE_NAME
# ${NEW_NOTE_NAME%%"$DEFAULT_NEW_NOTE_EXT"}
<!-- vim: wrap nonu nornu
-->
@ -104,10 +108,14 @@ subshell() {
}
shell() {
if [ -n "${1+foo}" ]; then
DIR="$BASE_DIR/$(cd "$BASE_DIR" && fd -d 1 -t d | sed 's-\./--g' | $FZF_SEARCH "$1")" || exit
if [ -n "${2+foo}" ]; then
DIR="$BASE_DIR/$(cd "$BASE_DIR" && fd -d 1 -t d | sed 's-\./--g' | $FZF_SEARCH "$2")" || exit
fi
if cd "$DIR"; then
subshell
else
exit
fi
cd "$DIR" || exit
}
check_setup() {

View file

@ -7,11 +7,16 @@
usage() {
cat <<-EOF
Usage:
$0 [output_type] [input_files]
$0 [output_type] [pandoc_args for file 1] [pandoc_args for file 1] [input_files]
Examples:
$0 pdf *.md
$0 .docx *.md # leading .'s are automatically removed from the output name
$0 .docx *.md # leading .'s are automatically removed from the output format
Note:
To put a file in pandoc arguments without having it be compiled to its own document, put a './' at the start of the path to it
You can have as many arg/file combinations you want
The argument array is cleared between input files
EOF
}
@ -27,13 +32,17 @@ if [[ -z "$2" ]]; then
echo "error: no files specified"
usage && exit 1
fi
FORMAT="$1"
SKIP_FIRST=true
OUTPUT_FORMAT="$1"
SKIP_FIRST=true # don't process the first argument, it is the output format
for FILE in "$@";do
$SKIP_FIRST && SKIP_FIRST=false && continue
if [[ -f "$FILE" ]]; then
pandoc -s "$FILE" -o "${FILE%.*}.${FORMAT##.}"
if [[ -f "$FILE" ]] && [[ "${FILE:0:2}" != "./" ]]; then
pandoc -s "$FILE" "${PANDOC_ARGS[@]}" -o "${FILE%.*}.${OUTPUT_FORMAT##.}"
PANDOC_ARGS=()
else
PANDOC_ARGS+=("$FILE")
fi
done

View file

@ -71,5 +71,6 @@ export P10K_CONFIG_LOCATION="${P10K_CONFIG_LOCATION:-"$SHELL_CONFIG_DIR/p10k/cur
###########################################
S="$SHELL_CONFIG_DIR"
DD="$DOCS_DIR"
C=~/code/spu/ds2/src
# vim:fdm=marker:fmr=>>>,<<<:et:ft=sh:sw=3:ts=3

View file

@ -1,15 +1,15 @@
#!/bin/sh
# shellcheck disable=SC2155
export PROFILE_LOADED=false
export SHELL_CONFIG_DIR="${SHELL_CONFIG_DIR:-"${XDG_CONFIG_HOME:-"$HOME/.config"}/shell"}"
. "$SHELL_CONFIG_DIR/env"
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
PATH="$HOME/.local/bin:$PATH"
fi
export SHELL_CONFIG_DIR="${SHELL_CONFIG_DIR:-"${XDG_CONFIG_HOME:-"$HOME/.config"}/shell"}"
# Locales
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
@ -50,6 +50,8 @@ export VDPAU_DRIVER=va_gl # Fix steam remote play black screen
# shellcheck disable=SC2046
export $(dbus-launch)
# If running in a TTY…
if [ "$(tty | sed 's-[0-9]$--g')" = /dev/tty ]; then
export IS_TTY=true

View file

@ -2,7 +2,7 @@
# this script will install the dotfiles from the target git repository, and back up any conflicting files
# credit for this idea and basic script outline goes to https://www.atlassian.com/git/tutorials/dotfiles
# TODO: make it so like 31 (DOTFILES_BACKUP_LIST) can handle spaces
# TODO: make it so line 31 (DOTFILES_BACKUP_LIST) can handle spaces (do it in a for loop)
DOTFILES_REPO_DIR="$HOME/git/dotfiles"
DOTFILES_REPO_URL="https://git.blakenorth.net/dotfiles"
@ -31,7 +31,7 @@ else
DOTFILES_BACKUP_LIST=($(dot checkout 2>&1 | grep -Po "(?<=\t)(.*)$"))
# create directories for everything that needs one
mkdir -p "$DOTFILES_BACKUP_DIR" $(printf '%s\n' "${DOTFILES_BACKUP_LIST[@]}" | grep -Po '.*/' | sed "s#.*#$DOTFILES_BACKUP_DIR/&#g")
# backup the files to avoid them being overwritten
# backup existing files to avoid them being overwritten
printf '%s\n' "${DOTFILES_BACKUP_LIST[@]}" | xargs -I{} mv "$HOME"/{} "$DOTFILES_BACKUP_DIR"/{}
fi