Files
emacs-config/bin/em

85 lines
1.9 KiB
Bash
Executable File

#!/bin/bash
# Main Emacs launcher with mode selection
# Usage: em [mode] [args...]
SCRIPT_DIR="$(dirname "$0")"
show_help() {
cat << EOF
Emacs Terminal Mode Launcher
Usage: em [mode] [args...]
Available modes:
mail - Launch mu4e email client
feeds - Launch Elfeed RSS reader
dev - Launch development environment with Treemacs
magit - Launch Magit git interface
compare - Compare two files with ediff
dired - Launch Dired file manager
portfolio - Launch portfolio tracker
org - Launch Org mode
terminal - Launch terminal emulator in Emacs
quick - Quick mode without config (emacs -Q)
help - Show this help message
Without mode argument, launches standard Emacs in terminal.
Examples:
em # Launch standard Emacs
em mail # Launch email client
em dev myproject/ # Open project in dev mode
em compare f1.txt f2.txt # Compare two files
em magit /path/to/repo # Open Magit in specific repo
EOF
}
if [ $# -eq 0 ]; then
# No arguments, launch standard emacs
emacs -nw
exit 0
fi
MODE=$1
shift
case "$MODE" in
mail)
exec "$SCRIPT_DIR/emacs-mail" "$@"
;;
feeds)
exec "$SCRIPT_DIR/emacs-feeds" "$@"
;;
dev)
exec "$SCRIPT_DIR/emacs-dev" "$@"
;;
magit)
exec "$SCRIPT_DIR/emacs-magit" "$@"
;;
compare)
exec "$SCRIPT_DIR/emacs-compare" "$@"
;;
dired)
exec "$SCRIPT_DIR/emacs-dired" "$@"
;;
portfolio)
exec "$SCRIPT_DIR/emacs-portfolio" "$@"
;;
org)
exec "$SCRIPT_DIR/emacs-org" "$@"
;;
terminal)
exec "$SCRIPT_DIR/emacs-terminal" "$@"
;;
quick)
exec "$SCRIPT_DIR/emacs-quick" "$@"
;;
help|--help|-h)
show_help
;;
*)
# Unknown mode, treat as file argument
emacs -nw "$MODE" "$@"
;;
esac