Advertisement
tygcrawford

set-editor

May 12th, 2024 (edited)
733
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.55 KB | None | 0 0
  1. #!/usr/bin/env zsh
  2. set -euo pipefail
  3.  
  4. if [[ "$#" -ne 1 ]]; then
  5.   echo "Usage: $0 \"<text_editor>\""
  6.   echo "Example: $0 \"Visual Studio Code\""
  7.   exit 1
  8. fi
  9.  
  10. editor=$1
  11.  
  12. brew install -q duti
  13.  
  14. if ! application=$(osascript -e "id of app \"$editor\""); then
  15.   echo "Error: $1 is not an application"
  16.   exit 1
  17. fi
  18.  
  19. duti -s $application public.json all
  20. duti -s $application public.plain-text all
  21. duti -s $application public.python-script all
  22. duti -s $application public.shell-script all
  23. duti -s $application public.source-code all
  24. duti -s $application public.text all
  25. duti -s $application public.unix-executable all
  26. duti -s $application public.data all
  27.  
  28. duti -s $application .c all
  29. duti -s $application .cpp all
  30. duti -s $application .cs all
  31. duti -s $application .css all
  32. duti -s $application .go all
  33. duti -s $application .java all
  34. duti -s $application .js all
  35. duti -s $application .sass all
  36. duti -s $application .scss all
  37. duti -s $application .less all
  38. duti -s $application .vue all
  39. duti -s $application .cfg all
  40. duti -s $application .json all
  41. duti -s $application .jsx all
  42. duti -s $application .log all
  43. duti -s $application .lua all
  44. duti -s $application .md all
  45. duti -s $application .php all
  46. duti -s $application .pl all
  47. duti -s $application .py all
  48. duti -s $application .rb all
  49. duti -s $application .ts all
  50. duti -s $application .tsx all
  51. duti -s $application .txt all
  52. duti -s $application .conf all
  53. duti -s $application .yaml all
  54. duti -s $application .yml all
  55. duti -s $application .toml all
  56.  
  57. echo "Success: $1 changed to default text editor"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement