diff --git a/.gitignore b/.gitignore index 44c1071..b5dcb30 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,6 @@ # OS X .DS_Store -*~ -*.orig - # Emacs \#*\# .\#emacs @@ -22,15 +19,11 @@ ssh/* !ssh/config vim/.viminfo* -vim/vim_shared_data vim/.nviminfo vim/view/ vim/spelling* vim/init.vim -vim/backup/ zsh/cache/ Ansible/*.retry - -Fortune/*.dat diff --git a/Alfred/Alfred.alfredpreferences/preferences/features/defaultresults/prefs.plist b/Alfred/Alfred.alfredpreferences/preferences/features/defaultresults/prefs.plist deleted file mode 100644 index b188822..0000000 --- a/Alfred/Alfred.alfredpreferences/preferences/features/defaultresults/prefs.plist +++ /dev/null @@ -1,13 +0,0 @@ - - - - - fallbacks - - features.websearch.duckduckgo.fallback - features.websearch.wiki.fallback - features.websearch.amazon.fallback - features.websearch.google.fallback - - - diff --git a/Alfred/Alfred.alfredpreferences/preferences/local/06365c4b6fb3c51d80e4f02937423ecba9d03908/appearance/prefs.plist b/Alfred/Alfred.alfredpreferences/preferences/local/06365c4b6fb3c51d80e4f02937423ecba9d03908/appearance/prefs.plist deleted file mode 100644 index d49dd03..0000000 --- a/Alfred/Alfred.alfredpreferences/preferences/local/06365c4b6fb3c51d80e4f02937423ecba9d03908/appearance/prefs.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - lightthemeuid - theme.bundled.moderndark - - diff --git a/Alfred/Alfred.alfredpreferences/preferences/local/06365c4b6fb3c51d80e4f02937423ecba9d03908/hotkey/prefs.plist b/Alfred/Alfred.alfredpreferences/preferences/local/06365c4b6fb3c51d80e4f02937423ecba9d03908/hotkey/prefs.plist deleted file mode 100644 index a392f95..0000000 --- a/Alfred/Alfred.alfredpreferences/preferences/local/06365c4b6fb3c51d80e4f02937423ecba9d03908/hotkey/prefs.plist +++ /dev/null @@ -1,15 +0,0 @@ - - - - - default - - key - 49 - mod - 262144 - string - - - - diff --git a/Alfred/Alfred.alfredpreferences/preferences/local/1be866ea0f824790d33dc5ea4be1138427cb842a/hotkey/prefs.plist b/Alfred/Alfred.alfredpreferences/preferences/local/1be866ea0f824790d33dc5ea4be1138427cb842a/hotkey/prefs.plist deleted file mode 100644 index a392f95..0000000 --- a/Alfred/Alfred.alfredpreferences/preferences/local/1be866ea0f824790d33dc5ea4be1138427cb842a/hotkey/prefs.plist +++ /dev/null @@ -1,15 +0,0 @@ - - - - - default - - key - 49 - mod - 262144 - string - - - - diff --git a/Alfred/Alfred.alfredpreferences/preferences/local/6d61e210ab2067a44db47253c71ffd760e7869d1/appearance/prefs.plist b/Alfred/Alfred.alfredpreferences/preferences/local/6d61e210ab2067a44db47253c71ffd760e7869d1/appearance/prefs.plist deleted file mode 100644 index d49dd03..0000000 --- a/Alfred/Alfred.alfredpreferences/preferences/local/6d61e210ab2067a44db47253c71ffd760e7869d1/appearance/prefs.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - lightthemeuid - theme.bundled.moderndark - - diff --git a/Alfred/Alfred.alfredpreferences/preferences/prefs.plist b/Alfred/Alfred.alfredpreferences/preferences/prefs.plist deleted file mode 100644 index 61af94e..0000000 --- a/Alfred/Alfred.alfredpreferences/preferences/prefs.plist +++ /dev/null @@ -1,8 +0,0 @@ - - - - - location - United States - - diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/01A8BB39-FD5F-4C7B-AC26-BF00E7DEF50E.png b/Alfred/Alfred.alfredpreferences/remote/images/items/01A8BB39-FD5F-4C7B-AC26-BF00E7DEF50E.png deleted file mode 100644 index e700fad..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/01A8BB39-FD5F-4C7B-AC26-BF00E7DEF50E.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/02BB8F9B-811B-4065-BF1C-4AF35C1A0C42.png b/Alfred/Alfred.alfredpreferences/remote/images/items/02BB8F9B-811B-4065-BF1C-4AF35C1A0C42.png deleted file mode 100644 index 66dd759..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/02BB8F9B-811B-4065-BF1C-4AF35C1A0C42.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/08A475A0-4D98-4055-A077-A4240621005D.png b/Alfred/Alfred.alfredpreferences/remote/images/items/08A475A0-4D98-4055-A077-A4240621005D.png deleted file mode 100644 index 770af35..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/08A475A0-4D98-4055-A077-A4240621005D.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/10218247-AF55-40E5-8973-30E90A28EFB8.png b/Alfred/Alfred.alfredpreferences/remote/images/items/10218247-AF55-40E5-8973-30E90A28EFB8.png deleted file mode 100644 index e700fad..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/10218247-AF55-40E5-8973-30E90A28EFB8.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/10D86B12-DBE0-43CA-A2AB-5E6E36447BD7.png b/Alfred/Alfred.alfredpreferences/remote/images/items/10D86B12-DBE0-43CA-A2AB-5E6E36447BD7.png deleted file mode 100644 index c3c37f5..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/10D86B12-DBE0-43CA-A2AB-5E6E36447BD7.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/1559CE13-D39B-4C37-BCAC-6EC719E084A3.png b/Alfred/Alfred.alfredpreferences/remote/images/items/1559CE13-D39B-4C37-BCAC-6EC719E084A3.png deleted file mode 100644 index f8e6e8f..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/1559CE13-D39B-4C37-BCAC-6EC719E084A3.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/224CDFBA-87EF-4A33-B11F-C894EFAEBE25.png b/Alfred/Alfred.alfredpreferences/remote/images/items/224CDFBA-87EF-4A33-B11F-C894EFAEBE25.png deleted file mode 100644 index 66e8986..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/224CDFBA-87EF-4A33-B11F-C894EFAEBE25.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/3614B607-B46E-4BC4-8096-9BA5CF5D9F55.png b/Alfred/Alfred.alfredpreferences/remote/images/items/3614B607-B46E-4BC4-8096-9BA5CF5D9F55.png deleted file mode 100644 index 220707e..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/3614B607-B46E-4BC4-8096-9BA5CF5D9F55.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/364213BC-647A-41F8-916C-0DC6AA557B86.png b/Alfred/Alfred.alfredpreferences/remote/images/items/364213BC-647A-41F8-916C-0DC6AA557B86.png deleted file mode 100644 index 5ed3519..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/364213BC-647A-41F8-916C-0DC6AA557B86.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/3BCF6DC8-7ED1-4400-93DE-C91BC6528157.png b/Alfred/Alfred.alfredpreferences/remote/images/items/3BCF6DC8-7ED1-4400-93DE-C91BC6528157.png deleted file mode 100644 index 698c968..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/3BCF6DC8-7ED1-4400-93DE-C91BC6528157.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/41519E90-2A8A-4357-A3CD-3524EAC0562B.png b/Alfred/Alfred.alfredpreferences/remote/images/items/41519E90-2A8A-4357-A3CD-3524EAC0562B.png deleted file mode 100644 index f141fd8..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/41519E90-2A8A-4357-A3CD-3524EAC0562B.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/426D4E4D-88C7-4B5C-9119-E5B6BF306C67.png b/Alfred/Alfred.alfredpreferences/remote/images/items/426D4E4D-88C7-4B5C-9119-E5B6BF306C67.png deleted file mode 100644 index 72f9c19..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/426D4E4D-88C7-4B5C-9119-E5B6BF306C67.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/450629F8-3ECE-4B44-852E-A2A87FAF684E.png b/Alfred/Alfred.alfredpreferences/remote/images/items/450629F8-3ECE-4B44-852E-A2A87FAF684E.png deleted file mode 100644 index 8b3aa14..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/450629F8-3ECE-4B44-852E-A2A87FAF684E.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/4742A6FD-76B1-4556-8697-44C376E31043.png b/Alfred/Alfred.alfredpreferences/remote/images/items/4742A6FD-76B1-4556-8697-44C376E31043.png deleted file mode 100644 index e700fad..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/4742A6FD-76B1-4556-8697-44C376E31043.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/49CBA6E9-EDFD-4643-8EAC-05CC16B91B78.png b/Alfred/Alfred.alfredpreferences/remote/images/items/49CBA6E9-EDFD-4643-8EAC-05CC16B91B78.png deleted file mode 100644 index 4481249..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/49CBA6E9-EDFD-4643-8EAC-05CC16B91B78.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/50A3174C-19C7-49C6-B325-2CD6B48BAC9D.png b/Alfred/Alfred.alfredpreferences/remote/images/items/50A3174C-19C7-49C6-B325-2CD6B48BAC9D.png deleted file mode 100644 index e700fad..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/50A3174C-19C7-49C6-B325-2CD6B48BAC9D.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/50CAF601-8E94-4C96-A9A7-DC7B3D77FDAB.png b/Alfred/Alfred.alfredpreferences/remote/images/items/50CAF601-8E94-4C96-A9A7-DC7B3D77FDAB.png deleted file mode 100644 index 770af35..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/50CAF601-8E94-4C96-A9A7-DC7B3D77FDAB.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/5113C599-9A73-4B22-A213-F3FDDCEBA170.png b/Alfred/Alfred.alfredpreferences/remote/images/items/5113C599-9A73-4B22-A213-F3FDDCEBA170.png deleted file mode 100644 index 3e076c0..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/5113C599-9A73-4B22-A213-F3FDDCEBA170.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/51D3F695-464F-4264-8B1D-19AAE4DF8E99.png b/Alfred/Alfred.alfredpreferences/remote/images/items/51D3F695-464F-4264-8B1D-19AAE4DF8E99.png deleted file mode 100644 index ea13fff..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/51D3F695-464F-4264-8B1D-19AAE4DF8E99.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/5215317C-C155-4697-9381-6BAA9AC3267D.png b/Alfred/Alfred.alfredpreferences/remote/images/items/5215317C-C155-4697-9381-6BAA9AC3267D.png deleted file mode 100644 index 2c1fdb0..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/5215317C-C155-4697-9381-6BAA9AC3267D.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/57B6FBF7-FBD0-4025-A18A-08AE4BE061E1.png b/Alfred/Alfred.alfredpreferences/remote/images/items/57B6FBF7-FBD0-4025-A18A-08AE4BE061E1.png deleted file mode 100644 index e700fad..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/57B6FBF7-FBD0-4025-A18A-08AE4BE061E1.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/57DDD7C1-D19D-40D2-B375-F1FEB2B49E6B.png b/Alfred/Alfred.alfredpreferences/remote/images/items/57DDD7C1-D19D-40D2-B375-F1FEB2B49E6B.png deleted file mode 100644 index 255d61c..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/57DDD7C1-D19D-40D2-B375-F1FEB2B49E6B.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/5DA5335C-4AA9-49B9-A792-290B475C8BEC.png b/Alfred/Alfred.alfredpreferences/remote/images/items/5DA5335C-4AA9-49B9-A792-290B475C8BEC.png deleted file mode 100644 index 7f4fbf2..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/5DA5335C-4AA9-49B9-A792-290B475C8BEC.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/6385322B-E7F1-4A1C-B7BB-5BCA0BDA64EE.png b/Alfred/Alfred.alfredpreferences/remote/images/items/6385322B-E7F1-4A1C-B7BB-5BCA0BDA64EE.png deleted file mode 100644 index 3091bbb..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/6385322B-E7F1-4A1C-B7BB-5BCA0BDA64EE.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/64BA8062-7323-4DBD-8047-71D804827F7F.png b/Alfred/Alfred.alfredpreferences/remote/images/items/64BA8062-7323-4DBD-8047-71D804827F7F.png deleted file mode 100644 index 72255b2..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/64BA8062-7323-4DBD-8047-71D804827F7F.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/66A83612-64FB-4AFA-B1A5-8B8C1FB543E7.png b/Alfred/Alfred.alfredpreferences/remote/images/items/66A83612-64FB-4AFA-B1A5-8B8C1FB543E7.png deleted file mode 100644 index 53baf3e..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/66A83612-64FB-4AFA-B1A5-8B8C1FB543E7.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/677215B9-8F97-496F-B0CE-679DF4009765.png b/Alfred/Alfred.alfredpreferences/remote/images/items/677215B9-8F97-496F-B0CE-679DF4009765.png deleted file mode 100644 index 0921edf..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/677215B9-8F97-496F-B0CE-679DF4009765.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/6773EBED-F907-4EE6-81DF-9AC0DBB4D55A.png b/Alfred/Alfred.alfredpreferences/remote/images/items/6773EBED-F907-4EE6-81DF-9AC0DBB4D55A.png deleted file mode 100644 index c436f0e..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/6773EBED-F907-4EE6-81DF-9AC0DBB4D55A.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/6B2A2675-49B5-44C9-93D9-CCDDB0AEAC5C.png b/Alfred/Alfred.alfredpreferences/remote/images/items/6B2A2675-49B5-44C9-93D9-CCDDB0AEAC5C.png deleted file mode 100644 index 0a747b5..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/6B2A2675-49B5-44C9-93D9-CCDDB0AEAC5C.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/6FB134CE-4E10-43E8-A2F4-330F95643EA2.png b/Alfred/Alfred.alfredpreferences/remote/images/items/6FB134CE-4E10-43E8-A2F4-330F95643EA2.png deleted file mode 100644 index 9b729fd..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/6FB134CE-4E10-43E8-A2F4-330F95643EA2.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/776D62FC-1F90-4E49-BB57-9AE68C494625.png b/Alfred/Alfred.alfredpreferences/remote/images/items/776D62FC-1F90-4E49-BB57-9AE68C494625.png deleted file mode 100644 index 06d3eb7..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/776D62FC-1F90-4E49-BB57-9AE68C494625.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/77A7C505-83BD-463E-A32B-03D74C57F782.png b/Alfred/Alfred.alfredpreferences/remote/images/items/77A7C505-83BD-463E-A32B-03D74C57F782.png deleted file mode 100644 index 1623f18..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/77A7C505-83BD-463E-A32B-03D74C57F782.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/77E0C240-F652-4AD9-AF67-930A0019D699.png b/Alfred/Alfred.alfredpreferences/remote/images/items/77E0C240-F652-4AD9-AF67-930A0019D699.png deleted file mode 100644 index e700fad..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/77E0C240-F652-4AD9-AF67-930A0019D699.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/7CD41A6B-4F26-4709-9B3F-90D5B982933E.png b/Alfred/Alfred.alfredpreferences/remote/images/items/7CD41A6B-4F26-4709-9B3F-90D5B982933E.png deleted file mode 100644 index e700fad..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/7CD41A6B-4F26-4709-9B3F-90D5B982933E.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/7D666652-A158-4B3A-B5C9-94386B467D3B.png b/Alfred/Alfred.alfredpreferences/remote/images/items/7D666652-A158-4B3A-B5C9-94386B467D3B.png deleted file mode 100644 index 7f4fbf2..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/7D666652-A158-4B3A-B5C9-94386B467D3B.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/7FDF68D6-CEF1-4D9F-B8DE-D81EA3A4C1CF.png b/Alfred/Alfred.alfredpreferences/remote/images/items/7FDF68D6-CEF1-4D9F-B8DE-D81EA3A4C1CF.png deleted file mode 100644 index 678f427..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/7FDF68D6-CEF1-4D9F-B8DE-D81EA3A4C1CF.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/811AF472-0278-448F-B4AC-239CEAC35A67.png b/Alfred/Alfred.alfredpreferences/remote/images/items/811AF472-0278-448F-B4AC-239CEAC35A67.png deleted file mode 100644 index a9408fc..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/811AF472-0278-448F-B4AC-239CEAC35A67.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/8929F5A7-2447-4A98-BAE2-82F81013F8E3.png b/Alfred/Alfred.alfredpreferences/remote/images/items/8929F5A7-2447-4A98-BAE2-82F81013F8E3.png deleted file mode 100644 index 6fd5ea0..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/8929F5A7-2447-4A98-BAE2-82F81013F8E3.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/8A5C75D6-311D-45EA-93D9-27A130F59983.png b/Alfred/Alfred.alfredpreferences/remote/images/items/8A5C75D6-311D-45EA-93D9-27A130F59983.png deleted file mode 100644 index 50ec105..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/8A5C75D6-311D-45EA-93D9-27A130F59983.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/8B5CB448-EA6C-4EEA-B53A-CC38824FEF7D.png b/Alfred/Alfred.alfredpreferences/remote/images/items/8B5CB448-EA6C-4EEA-B53A-CC38824FEF7D.png deleted file mode 100644 index e700fad..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/8B5CB448-EA6C-4EEA-B53A-CC38824FEF7D.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/92CA2C9F-5460-4135-9882-3C107EFDF85E.png b/Alfred/Alfred.alfredpreferences/remote/images/items/92CA2C9F-5460-4135-9882-3C107EFDF85E.png deleted file mode 100644 index 410ed53..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/92CA2C9F-5460-4135-9882-3C107EFDF85E.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/93904FA6-C2AC-4991-A539-93FF27174789.png b/Alfred/Alfred.alfredpreferences/remote/images/items/93904FA6-C2AC-4991-A539-93FF27174789.png deleted file mode 100644 index e700fad..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/93904FA6-C2AC-4991-A539-93FF27174789.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/953B40B5-C903-4EE9-8038-6A5122142204.png b/Alfred/Alfred.alfredpreferences/remote/images/items/953B40B5-C903-4EE9-8038-6A5122142204.png deleted file mode 100644 index ea5f54a..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/953B40B5-C903-4EE9-8038-6A5122142204.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/957B86A1-69B5-4C4F-BC8C-2B7AAE2B2A3F.png b/Alfred/Alfred.alfredpreferences/remote/images/items/957B86A1-69B5-4C4F-BC8C-2B7AAE2B2A3F.png deleted file mode 100644 index 864da18..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/957B86A1-69B5-4C4F-BC8C-2B7AAE2B2A3F.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/95B178D1-F498-4CAC-94F8-EEED72C9EAAF.png b/Alfred/Alfred.alfredpreferences/remote/images/items/95B178D1-F498-4CAC-94F8-EEED72C9EAAF.png deleted file mode 100644 index 06d3eb7..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/95B178D1-F498-4CAC-94F8-EEED72C9EAAF.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/9709A0BF-F21B-4E05-9D54-93EBFD3CD6E8.png b/Alfred/Alfred.alfredpreferences/remote/images/items/9709A0BF-F21B-4E05-9D54-93EBFD3CD6E8.png deleted file mode 100644 index fa5eefe..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/9709A0BF-F21B-4E05-9D54-93EBFD3CD6E8.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/9B8D1351-EA76-44AD-90F4-5F8ECAFE3374.png b/Alfred/Alfred.alfredpreferences/remote/images/items/9B8D1351-EA76-44AD-90F4-5F8ECAFE3374.png deleted file mode 100644 index 6561157..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/9B8D1351-EA76-44AD-90F4-5F8ECAFE3374.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/9D73BB97-2BF4-4472-A8AA-4E7890849D0B.png b/Alfred/Alfred.alfredpreferences/remote/images/items/9D73BB97-2BF4-4472-A8AA-4E7890849D0B.png deleted file mode 100644 index 4ec813c..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/9D73BB97-2BF4-4472-A8AA-4E7890849D0B.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/9DF272BF-7997-402D-A042-969DDD5E12F9.png b/Alfred/Alfred.alfredpreferences/remote/images/items/9DF272BF-7997-402D-A042-969DDD5E12F9.png deleted file mode 100644 index 223a8ed..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/9DF272BF-7997-402D-A042-969DDD5E12F9.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/A087E59F-F8F1-4222-B916-F1504AD2B5DB.png b/Alfred/Alfred.alfredpreferences/remote/images/items/A087E59F-F8F1-4222-B916-F1504AD2B5DB.png deleted file mode 100644 index 9dcba18..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/A087E59F-F8F1-4222-B916-F1504AD2B5DB.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/A175FCEB-7B03-435E-9D1C-6097F665261B.png b/Alfred/Alfred.alfredpreferences/remote/images/items/A175FCEB-7B03-435E-9D1C-6097F665261B.png deleted file mode 100644 index 39e4b3e..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/A175FCEB-7B03-435E-9D1C-6097F665261B.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/A44A3712-1D81-47AC-8EEA-0CDF99CE9623.png b/Alfred/Alfred.alfredpreferences/remote/images/items/A44A3712-1D81-47AC-8EEA-0CDF99CE9623.png deleted file mode 100644 index ab9d579..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/A44A3712-1D81-47AC-8EEA-0CDF99CE9623.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/A9790D68-3C03-482E-B558-23522567F465.png b/Alfred/Alfred.alfredpreferences/remote/images/items/A9790D68-3C03-482E-B558-23522567F465.png deleted file mode 100644 index 90b9393..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/A9790D68-3C03-482E-B558-23522567F465.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/ACAFC73B-1316-4E9B-B29A-36358F16AA9D.png b/Alfred/Alfred.alfredpreferences/remote/images/items/ACAFC73B-1316-4E9B-B29A-36358F16AA9D.png deleted file mode 100644 index 5c1bc70..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/ACAFC73B-1316-4E9B-B29A-36358F16AA9D.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/B0174B46-EBE2-4540-9186-4CCF5990134D.png b/Alfred/Alfred.alfredpreferences/remote/images/items/B0174B46-EBE2-4540-9186-4CCF5990134D.png deleted file mode 100644 index 98ec0d9..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/B0174B46-EBE2-4540-9186-4CCF5990134D.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/B87B9333-5E0A-433F-BEB8-072A463525A0.png b/Alfred/Alfred.alfredpreferences/remote/images/items/B87B9333-5E0A-433F-BEB8-072A463525A0.png deleted file mode 100644 index 69c7d38..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/B87B9333-5E0A-433F-BEB8-072A463525A0.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/B99239C8-54FF-4B25-997B-1A59018CCEF0.png b/Alfred/Alfred.alfredpreferences/remote/images/items/B99239C8-54FF-4B25-997B-1A59018CCEF0.png deleted file mode 100644 index e4e1ac1..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/B99239C8-54FF-4B25-997B-1A59018CCEF0.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/BAAF3940-9DDB-4CAE-966E-B48A930CA657.png b/Alfred/Alfred.alfredpreferences/remote/images/items/BAAF3940-9DDB-4CAE-966E-B48A930CA657.png deleted file mode 100644 index f8e6e8f..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/BAAF3940-9DDB-4CAE-966E-B48A930CA657.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/BCE33ABB-7F9C-4588-B184-F4485E561FFE.png b/Alfred/Alfred.alfredpreferences/remote/images/items/BCE33ABB-7F9C-4588-B184-F4485E561FFE.png deleted file mode 100644 index ea13fff..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/BCE33ABB-7F9C-4588-B184-F4485E561FFE.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/BE46F87A-193D-4EED-A438-AEFE042B4A79.png b/Alfred/Alfred.alfredpreferences/remote/images/items/BE46F87A-193D-4EED-A438-AEFE042B4A79.png deleted file mode 100644 index a071185..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/BE46F87A-193D-4EED-A438-AEFE042B4A79.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/C42A8CF3-6B21-4D83-A765-80921865AA0C.png b/Alfred/Alfred.alfredpreferences/remote/images/items/C42A8CF3-6B21-4D83-A765-80921865AA0C.png deleted file mode 100644 index e700fad..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/C42A8CF3-6B21-4D83-A765-80921865AA0C.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/C4D4BA8E-C80C-4789-9EB5-43A06414DFEB.png b/Alfred/Alfred.alfredpreferences/remote/images/items/C4D4BA8E-C80C-4789-9EB5-43A06414DFEB.png deleted file mode 100644 index cc7efed..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/C4D4BA8E-C80C-4789-9EB5-43A06414DFEB.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/C6639DCF-BAAA-4E9C-96F7-C3B8B681D689.png b/Alfred/Alfred.alfredpreferences/remote/images/items/C6639DCF-BAAA-4E9C-96F7-C3B8B681D689.png deleted file mode 100644 index 656db00..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/C6639DCF-BAAA-4E9C-96F7-C3B8B681D689.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/C9744030-883D-4891-AF4B-E26219173DD7.png b/Alfred/Alfred.alfredpreferences/remote/images/items/C9744030-883D-4891-AF4B-E26219173DD7.png deleted file mode 100644 index 32ebc13..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/C9744030-883D-4891-AF4B-E26219173DD7.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/D027C2E7-7ACC-4933-B074-BA4D4CA52AE8.png b/Alfred/Alfred.alfredpreferences/remote/images/items/D027C2E7-7ACC-4933-B074-BA4D4CA52AE8.png deleted file mode 100644 index 2bc9c36..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/D027C2E7-7ACC-4933-B074-BA4D4CA52AE8.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/D4D0AC6D-796C-4096-B2FB-6BDF70DECD70.png b/Alfred/Alfred.alfredpreferences/remote/images/items/D4D0AC6D-796C-4096-B2FB-6BDF70DECD70.png deleted file mode 100644 index a2706a2..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/D4D0AC6D-796C-4096-B2FB-6BDF70DECD70.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/D84A5816-E82A-482A-A934-40CC07C92D85.png b/Alfred/Alfred.alfredpreferences/remote/images/items/D84A5816-E82A-482A-A934-40CC07C92D85.png deleted file mode 100644 index 28f07d8..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/D84A5816-E82A-482A-A934-40CC07C92D85.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/D994AD4F-8240-4A87-B7EA-55D9D5D6EB94.png b/Alfred/Alfred.alfredpreferences/remote/images/items/D994AD4F-8240-4A87-B7EA-55D9D5D6EB94.png deleted file mode 100644 index d6cf511..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/D994AD4F-8240-4A87-B7EA-55D9D5D6EB94.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/DCED03D3-76C7-4F55-818F-E3CAA6E293F2.png b/Alfred/Alfred.alfredpreferences/remote/images/items/DCED03D3-76C7-4F55-818F-E3CAA6E293F2.png deleted file mode 100644 index 7fe22d2..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/DCED03D3-76C7-4F55-818F-E3CAA6E293F2.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/E18A736A-9D14-4F48-ADD3-ACA04CFA03C2.png b/Alfred/Alfred.alfredpreferences/remote/images/items/E18A736A-9D14-4F48-ADD3-ACA04CFA03C2.png deleted file mode 100644 index 70aa336..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/E18A736A-9D14-4F48-ADD3-ACA04CFA03C2.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/E679EE74-AFDF-4D43-AB92-57583A1FB352.png b/Alfred/Alfred.alfredpreferences/remote/images/items/E679EE74-AFDF-4D43-AB92-57583A1FB352.png deleted file mode 100644 index 932d34d..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/E679EE74-AFDF-4D43-AB92-57583A1FB352.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/E72748C2-F59D-4B63-B96A-2D085643E038.png b/Alfred/Alfred.alfredpreferences/remote/images/items/E72748C2-F59D-4B63-B96A-2D085643E038.png deleted file mode 100644 index d1b2a6f..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/E72748C2-F59D-4B63-B96A-2D085643E038.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/EADFF19E-0813-44AF-BA4E-1276426D58F2.png b/Alfred/Alfred.alfredpreferences/remote/images/items/EADFF19E-0813-44AF-BA4E-1276426D58F2.png deleted file mode 100644 index e700fad..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/EADFF19E-0813-44AF-BA4E-1276426D58F2.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/EC0FCDAC-E659-4E1C-8FEE-0E6603FAF4CC.png b/Alfred/Alfred.alfredpreferences/remote/images/items/EC0FCDAC-E659-4E1C-8FEE-0E6603FAF4CC.png deleted file mode 100644 index 1504402..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/EC0FCDAC-E659-4E1C-8FEE-0E6603FAF4CC.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/EC2CECFA-285C-4E5F-BA67-90D1B10C8D16.png b/Alfred/Alfred.alfredpreferences/remote/images/items/EC2CECFA-285C-4E5F-BA67-90D1B10C8D16.png deleted file mode 100644 index fdc070f..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/EC2CECFA-285C-4E5F-BA67-90D1B10C8D16.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/EC782695-9E0F-47C3-A90C-8604E254332E.png b/Alfred/Alfred.alfredpreferences/remote/images/items/EC782695-9E0F-47C3-A90C-8604E254332E.png deleted file mode 100644 index 6ff7e6d..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/EC782695-9E0F-47C3-A90C-8604E254332E.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/FAF2863C-BD1F-4917-801D-6DC82B9F5A7A.png b/Alfred/Alfred.alfredpreferences/remote/images/items/FAF2863C-BD1F-4917-801D-6DC82B9F5A7A.png deleted file mode 100644 index f7dc303..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/FAF2863C-BD1F-4917-801D-6DC82B9F5A7A.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/items/FDF78D33-BF71-40D4-B89B-2089BCDB8B40.png b/Alfred/Alfred.alfredpreferences/remote/images/items/FDF78D33-BF71-40D4-B89B-2089BCDB8B40.png deleted file mode 100644 index 80062f1..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/items/FDF78D33-BF71-40D4-B89B-2089BCDB8B40.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/pages/6FD5FE69-2B6E-4DD3-9657-DE998B22B89E.png b/Alfred/Alfred.alfredpreferences/remote/images/pages/6FD5FE69-2B6E-4DD3-9657-DE998B22B89E.png deleted file mode 100644 index 3df129e..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/pages/6FD5FE69-2B6E-4DD3-9657-DE998B22B89E.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/pages/723DE8FA-1821-4E46-98E4-47DE6F67BAB5.png b/Alfred/Alfred.alfredpreferences/remote/images/pages/723DE8FA-1821-4E46-98E4-47DE6F67BAB5.png deleted file mode 100644 index 32ebc13..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/pages/723DE8FA-1821-4E46-98E4-47DE6F67BAB5.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/pages/7C63B75F-E8AE-44D0-95DA-BB9A318F03F1.png b/Alfred/Alfred.alfredpreferences/remote/images/pages/7C63B75F-E8AE-44D0-95DA-BB9A318F03F1.png deleted file mode 100644 index f2e522e..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/pages/7C63B75F-E8AE-44D0-95DA-BB9A318F03F1.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/pages/91CE3AB2-AA2C-4585-8277-D447616878BE.png b/Alfred/Alfred.alfredpreferences/remote/images/pages/91CE3AB2-AA2C-4585-8277-D447616878BE.png deleted file mode 100644 index 66e8986..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/pages/91CE3AB2-AA2C-4585-8277-D447616878BE.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/pages/9879DAE4-272F-427F-B904-E3912DD40038.png b/Alfred/Alfred.alfredpreferences/remote/images/pages/9879DAE4-272F-427F-B904-E3912DD40038.png deleted file mode 100644 index 28f07d8..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/pages/9879DAE4-272F-427F-B904-E3912DD40038.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/images/pages/EAC41EFE-E03F-42F9-B01B-09834ED7AF0E.png b/Alfred/Alfred.alfredpreferences/remote/images/pages/EAC41EFE-E03F-42F9-B01B-09834ED7AF0E.png deleted file mode 100644 index ea13fff..0000000 Binary files a/Alfred/Alfred.alfredpreferences/remote/images/pages/EAC41EFE-E03F-42F9-B01B-09834ED7AF0E.png and /dev/null differ diff --git a/Alfred/Alfred.alfredpreferences/remote/pages/2BBA183A-CB81-4605-8168-1D5E2A787AC8.data b/Alfred/Alfred.alfredpreferences/remote/pages/2BBA183A-CB81-4605-8168-1D5E2A787AC8.data deleted file mode 100644 index e4c0680..0000000 --- a/Alfred/Alfred.alfredpreferences/remote/pages/2BBA183A-CB81-4605-8168-1D5E2A787AC8.data +++ /dev/null @@ -1,384 +0,0 @@ - - - - - gridsize - 4 - hidelabels - - iconid - 723DE8FA-1821-4E46-98E4-47DE6F67BAB5 - iconisuserspecified - - items - - - actionconfig - - path - ~/ - - actionuid - remote.alfred.launchfile - buttoniconid - C9744030-883D-4891-AF4B-E26219173DD7 - buttonlabel - Home - itemuid - 187FF406-48CD-400A-8209-05927331D243 - - - actionconfig - - path - ~/Desktop - - actionuid - remote.alfred.launchfile - buttoniconid - 6B2A2675-49B5-44C9-93D9-CCDDB0AEAC5C - buttonlabel - Desktop - itemuid - 0CDF2561-21C1-4AD7-8E70-61E84DE6D284 - - - actionconfig - - path - ~/Documents - - actionuid - remote.alfred.launchfile - buttoniconid - 66A83612-64FB-4AFA-B1A5-8B8C1FB543E7 - buttonlabel - Documents - itemuid - 553991CE-CFC1-4852-8FA2-21274111E98F - - - actionconfig - - path - ~/Downloads - - actionuid - remote.alfred.launchfile - buttoniconid - 64BA8062-7323-4DBD-8047-71D804827F7F - buttonlabel - Downloads - itemuid - 7AD33419-A453-4872-94E1-B8E24D74110A - - - actionconfig - - path - ~/Pictures - - actionuid - remote.alfred.launchfile - buttoniconid - 677215B9-8F97-496F-B0CE-679DF4009765 - buttonlabel - Pictures - itemuid - 38DA5472-E8B6-44DA-BED1-E350D3D36E72 - - - actionconfig - - path - ~/Music - - actionuid - remote.alfred.launchfile - buttoniconid - C6639DCF-BAAA-4E9C-96F7-C3B8B681D689 - buttonlabel - Music - itemuid - CABC79E4-A15E-4D53-9C09-9F81610E730A - - - actionconfig - - path - ~/Movies - - actionuid - remote.alfred.launchfile - buttoniconid - 7FDF68D6-CEF1-4D9F-B8DE-D81EA3A4C1CF - buttonlabel - Movies - itemuid - CD493A05-A73E-4EA8-BFE2-9152CE3E621B - - - actionconfig - - path - ~/Library - - actionuid - remote.alfred.launchfile - buttoniconid - B87B9333-5E0A-433F-BEB8-072A463525A0 - buttonlabel - Library - itemuid - D52029C2-52B7-4425-B17C-1FD59DD95A0A - - - - - - - actionconfig - - path - / - - actionuid - remote.alfred.launchfile - buttoniconid - ACAFC73B-1316-4E9B-B29A-36358F16AA9D - buttonlabel - Macintosh HD - itemuid - 5BFFB9A8-0A57-403E-A7D5-00BAF324FAF8 - - - actionconfig - - path - /Applications - - actionuid - remote.alfred.launchfile - buttoniconid - 224CDFBA-87EF-4A33-B11F-C894EFAEBE25 - buttonlabel - Applications - itemuid - B8E586AF-F4E3-45BA-9452-D2C09FAA8BEB - - - actionconfig - - path - /Users - - actionuid - remote.alfred.launchfile - buttoniconid - BE46F87A-193D-4EED-A438-AEFE042B4A79 - buttonlabel - Users - itemuid - 186468BA-5832-4B0D-BDCD-1A0898AA4030 - - - - itemsall - - - actionconfig - - path - ~/ - - actionuid - remote.alfred.launchfile - buttoniconid - C9744030-883D-4891-AF4B-E26219173DD7 - buttonlabel - Home - itemuid - 187FF406-48CD-400A-8209-05927331D243 - - - actionconfig - - path - ~/Desktop - - actionuid - remote.alfred.launchfile - buttoniconid - 6B2A2675-49B5-44C9-93D9-CCDDB0AEAC5C - buttonlabel - Desktop - itemuid - 0CDF2561-21C1-4AD7-8E70-61E84DE6D284 - - - actionconfig - - path - ~/Documents - - actionuid - remote.alfred.launchfile - buttoniconid - 66A83612-64FB-4AFA-B1A5-8B8C1FB543E7 - buttonlabel - Documents - itemuid - 553991CE-CFC1-4852-8FA2-21274111E98F - - - actionconfig - - path - ~/Downloads - - actionuid - remote.alfred.launchfile - buttoniconid - 64BA8062-7323-4DBD-8047-71D804827F7F - buttonlabel - Downloads - itemuid - 7AD33419-A453-4872-94E1-B8E24D74110A - - - actionconfig - - path - ~/Pictures - - actionuid - remote.alfred.launchfile - buttoniconid - 677215B9-8F97-496F-B0CE-679DF4009765 - buttonlabel - Pictures - itemuid - 38DA5472-E8B6-44DA-BED1-E350D3D36E72 - - - actionconfig - - path - ~/Music - - actionuid - remote.alfred.launchfile - buttoniconid - C6639DCF-BAAA-4E9C-96F7-C3B8B681D689 - buttonlabel - Music - itemuid - CABC79E4-A15E-4D53-9C09-9F81610E730A - - - actionconfig - - path - ~/Movies - - actionuid - remote.alfred.launchfile - buttoniconid - 7FDF68D6-CEF1-4D9F-B8DE-D81EA3A4C1CF - buttonlabel - Movies - itemuid - CD493A05-A73E-4EA8-BFE2-9152CE3E621B - - - actionconfig - - path - ~/Library - - actionuid - remote.alfred.launchfile - buttoniconid - B87B9333-5E0A-433F-BEB8-072A463525A0 - buttonlabel - Library - itemuid - D52029C2-52B7-4425-B17C-1FD59DD95A0A - - - - - - - actionconfig - - path - / - - actionuid - remote.alfred.launchfile - buttoniconid - ACAFC73B-1316-4E9B-B29A-36358F16AA9D - buttonlabel - Macintosh HD - itemuid - 5BFFB9A8-0A57-403E-A7D5-00BAF324FAF8 - - - actionconfig - - path - /Applications - - actionuid - remote.alfred.launchfile - buttoniconid - 224CDFBA-87EF-4A33-B11F-C894EFAEBE25 - buttonlabel - Applications - itemuid - B8E586AF-F4E3-45BA-9452-D2C09FAA8BEB - - - actionconfig - - path - /Users - - actionuid - remote.alfred.launchfile - buttoniconid - BE46F87A-193D-4EED-A438-AEFE042B4A79 - buttonlabel - Users - itemuid - 186468BA-5832-4B0D-BDCD-1A0898AA4030 - - - - - - - - - - - - - - - - - - - - - - - - subtitle - Open your Folders and Files - title - Folders and Files - - diff --git a/Alfred/Alfred.alfredpreferences/remote/pages/3D35BF6F-B96E-455D-A139-7D182B94D8F3.data b/Alfred/Alfred.alfredpreferences/remote/pages/3D35BF6F-B96E-455D-A139-7D182B94D8F3.data deleted file mode 100644 index dbcbc50..0000000 --- a/Alfred/Alfred.alfredpreferences/remote/pages/3D35BF6F-B96E-455D-A139-7D182B94D8F3.data +++ /dev/null @@ -1,524 +0,0 @@ - - - - - gridsize - 4 - hidelabels - - iconid - 91CE3AB2-AA2C-4585-8277-D447616878BE - iconisuserspecified - - items - - - actionconfig - - path - /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app - - actionuid - remote.alfred.launchfile - buttoniconid - FDF78D33-BF71-40D4-B89B-2089BCDB8B40 - buttonlabel - Safari - itemuid - 38483338-6418-41B4-A717-5B506102A8EC - - - actionconfig - - path - /System/Applications/Messages.app - - actionuid - remote.alfred.launchfile - buttoniconid - A44A3712-1D81-47AC-8EEA-0CDF99CE9623 - buttonlabel - Messages - itemuid - 5F49245D-C10E-455B-BD29-904027BE6F2E - - - actionconfig - - path - /System/Applications/FaceTime.app - - actionuid - remote.alfred.launchfile - buttoniconid - FAF2863C-BD1F-4917-801D-6DC82B9F5A7A - buttonlabel - FaceTime - itemuid - AE50B6A5-571A-49F5-AA0B-375E38D4933B - - - actionconfig - - path - /System/Applications/Maps.app - - actionuid - remote.alfred.launchfile - buttoniconid - 77A7C505-83BD-463E-A32B-03D74C57F782 - buttonlabel - Maps - itemuid - 46E9458F-F0C4-421A-B0A2-CAECD0B12B59 - - - actionconfig - - path - /System/Applications/Contacts.app - - actionuid - remote.alfred.launchfile - buttoniconid - 811AF472-0278-448F-B4AC-239CEAC35A67 - buttonlabel - Contacts - itemuid - 41069E72-EF7D-4F1B-BCD3-F7334B7A0402 - - - actionconfig - - path - /System/Applications/Mail.app - - actionuid - remote.alfred.launchfile - buttoniconid - 5215317C-C155-4697-9381-6BAA9AC3267D - buttonlabel - Mail - itemuid - 9FDFEC9D-359B-48FE-9B6C-090CF856B1DC - - - actionconfig - - path - /System/Applications/Calendar.app - - actionuid - remote.alfred.launchfile - buttoniconid - A9790D68-3C03-482E-B558-23522567F465 - buttonlabel - Calendar - itemuid - 726BEA2E-C5A2-4FFB-B692-73D36A296664 - - - actionconfig - - path - /System/Applications/Reminders.app - - actionuid - remote.alfred.launchfile - buttoniconid - 9B8D1351-EA76-44AD-90F4-5F8ECAFE3374 - buttonlabel - Reminders - itemuid - 07B43797-DA33-4C85-AB7A-32BF53E26AEC - - - actionconfig - - path - /System/Applications/App Store.app - - actionuid - remote.alfred.launchfile - buttoniconid - E18A736A-9D14-4F48-ADD3-ACA04CFA03C2 - buttonlabel - App Store - itemuid - 9FA5CE7D-F40E-47CC-A6A8-26D1CF80D35C - - - actionconfig - - path - /System/Applications/Music.app - - actionuid - remote.alfred.launchfile - buttoniconid - D84A5816-E82A-482A-A934-40CC07C92D85 - buttonlabel - Music - itemuid - 585735DB-047B-4C12-AE77-32A04E757B09 - - - actionconfig - - path - /System/Applications/Photos.app - - actionuid - remote.alfred.launchfile - buttoniconid - 957B86A1-69B5-4C4F-BC8C-2B7AAE2B2A3F - buttonlabel - Photos - itemuid - 9B83BE7F-57CA-4DFA-A29B-7FD93D27AC7C - - - actionconfig - - path - /System/Applications/Photo Booth.app - - actionuid - remote.alfred.launchfile - buttoniconid - 6773EBED-F907-4EE6-81DF-9AC0DBB4D55A - buttonlabel - Photo Booth - itemuid - 2A6920C4-B71A-45F5-8C92-475553D75531 - - - actionconfig - - path - /System/Applications/TextEdit.app - - actionuid - remote.alfred.launchfile - buttoniconid - 5113C599-9A73-4B22-A213-F3FDDCEBA170 - buttonlabel - TextEdit - itemuid - 704847BB-8E95-4404-84CC-2A1867059755 - - - actionconfig - - path - /System/Applications/Utilities/Activity Monitor.app - - actionuid - remote.alfred.launchfile - buttoniconid - EC782695-9E0F-47C3-A90C-8604E254332E - buttonlabel - Activity Monitor - itemuid - C9F3C6C4-FD9F-4272-9DF5-B7A30A09CC75 - - - actionconfig - - path - /System/Applications/Utilities/Terminal.app - - actionuid - remote.alfred.launchfile - buttoniconid - E72748C2-F59D-4B63-B96A-2D085643E038 - buttonlabel - Terminal - itemuid - 87D1271A-A0EA-48BC-AC19-3C9BEEB6A626 - - - actionconfig - - path - /System/Applications/Utilities/Console.app - - actionuid - remote.alfred.launchfile - buttoniconid - 8A5C75D6-311D-45EA-93D9-27A130F59983 - buttonlabel - Console - itemuid - D4AE06AD-DE9B-4E9B-B29B-08DB29EB14D6 - - - itemsall - - - actionconfig - - path - /System/Volumes/Preboot/Cryptexes/App/System/Applications/Safari.app - - actionuid - remote.alfred.launchfile - buttoniconid - FDF78D33-BF71-40D4-B89B-2089BCDB8B40 - buttonlabel - Safari - itemuid - 38483338-6418-41B4-A717-5B506102A8EC - - - actionconfig - - path - /System/Applications/Messages.app - - actionuid - remote.alfred.launchfile - buttoniconid - A44A3712-1D81-47AC-8EEA-0CDF99CE9623 - buttonlabel - Messages - itemuid - 5F49245D-C10E-455B-BD29-904027BE6F2E - - - actionconfig - - path - /System/Applications/FaceTime.app - - actionuid - remote.alfred.launchfile - buttoniconid - FAF2863C-BD1F-4917-801D-6DC82B9F5A7A - buttonlabel - FaceTime - itemuid - AE50B6A5-571A-49F5-AA0B-375E38D4933B - - - actionconfig - - path - /System/Applications/Maps.app - - actionuid - remote.alfred.launchfile - buttoniconid - 77A7C505-83BD-463E-A32B-03D74C57F782 - buttonlabel - Maps - itemuid - 46E9458F-F0C4-421A-B0A2-CAECD0B12B59 - - - actionconfig - - path - /System/Applications/Contacts.app - - actionuid - remote.alfred.launchfile - buttoniconid - 811AF472-0278-448F-B4AC-239CEAC35A67 - buttonlabel - Contacts - itemuid - 41069E72-EF7D-4F1B-BCD3-F7334B7A0402 - - - actionconfig - - path - /System/Applications/Mail.app - - actionuid - remote.alfred.launchfile - buttoniconid - 5215317C-C155-4697-9381-6BAA9AC3267D - buttonlabel - Mail - itemuid - 9FDFEC9D-359B-48FE-9B6C-090CF856B1DC - - - actionconfig - - path - /System/Applications/Calendar.app - - actionuid - remote.alfred.launchfile - buttoniconid - A9790D68-3C03-482E-B558-23522567F465 - buttonlabel - Calendar - itemuid - 726BEA2E-C5A2-4FFB-B692-73D36A296664 - - - actionconfig - - path - /System/Applications/Reminders.app - - actionuid - remote.alfred.launchfile - buttoniconid - 9B8D1351-EA76-44AD-90F4-5F8ECAFE3374 - buttonlabel - Reminders - itemuid - 07B43797-DA33-4C85-AB7A-32BF53E26AEC - - - actionconfig - - path - /System/Applications/App Store.app - - actionuid - remote.alfred.launchfile - buttoniconid - E18A736A-9D14-4F48-ADD3-ACA04CFA03C2 - buttonlabel - App Store - itemuid - 9FA5CE7D-F40E-47CC-A6A8-26D1CF80D35C - - - actionconfig - - path - /System/Applications/Music.app - - actionuid - remote.alfred.launchfile - buttoniconid - D84A5816-E82A-482A-A934-40CC07C92D85 - buttonlabel - Music - itemuid - 585735DB-047B-4C12-AE77-32A04E757B09 - - - actionconfig - - path - /System/Applications/Photos.app - - actionuid - remote.alfred.launchfile - buttoniconid - 957B86A1-69B5-4C4F-BC8C-2B7AAE2B2A3F - buttonlabel - Photos - itemuid - 9B83BE7F-57CA-4DFA-A29B-7FD93D27AC7C - - - actionconfig - - path - /System/Applications/Photo Booth.app - - actionuid - remote.alfred.launchfile - buttoniconid - 6773EBED-F907-4EE6-81DF-9AC0DBB4D55A - buttonlabel - Photo Booth - itemuid - 2A6920C4-B71A-45F5-8C92-475553D75531 - - - actionconfig - - path - /System/Applications/TextEdit.app - - actionuid - remote.alfred.launchfile - buttoniconid - 5113C599-9A73-4B22-A213-F3FDDCEBA170 - buttonlabel - TextEdit - itemuid - 704847BB-8E95-4404-84CC-2A1867059755 - - - actionconfig - - path - /System/Applications/Utilities/Activity Monitor.app - - actionuid - remote.alfred.launchfile - buttoniconid - EC782695-9E0F-47C3-A90C-8604E254332E - buttonlabel - Activity Monitor - itemuid - C9F3C6C4-FD9F-4272-9DF5-B7A30A09CC75 - - - actionconfig - - path - /System/Applications/Utilities/Terminal.app - - actionuid - remote.alfred.launchfile - buttoniconid - E72748C2-F59D-4B63-B96A-2D085643E038 - buttonlabel - Terminal - itemuid - 87D1271A-A0EA-48BC-AC19-3C9BEEB6A626 - - - actionconfig - - path - /System/Applications/Utilities/Console.app - - actionuid - remote.alfred.launchfile - buttoniconid - 8A5C75D6-311D-45EA-93D9-27A130F59983 - buttonlabel - Console - itemuid - D4AE06AD-DE9B-4E9B-B29B-08DB29EB14D6 - - - - - - - - - - - - - - - - - - - - - - - subtitle - Launch your Applications - title - Applications - - diff --git a/Alfred/Alfred.alfredpreferences/remote/pages/481D8B47-3B66-4B5C-8EF2-76F8D8AB83EC.data b/Alfred/Alfred.alfredpreferences/remote/pages/481D8B47-3B66-4B5C-8EF2-76F8D8AB83EC.data deleted file mode 100644 index f552ba9..0000000 --- a/Alfred/Alfred.alfredpreferences/remote/pages/481D8B47-3B66-4B5C-8EF2-76F8D8AB83EC.data +++ /dev/null @@ -1,542 +0,0 @@ - - - - - gridsize - 4 - hidelabels - - iconid - 6FD5FE69-2B6E-4DD3-9657-DE998B22B89E - iconisuserspecified - - items - - - actionuid - remote.alfred.showalfred - buttoniconid - 95B178D1-F498-4CAC-94F8-EEED72C9EAAF - buttonlabel - Show Alfred - itemuid - C51B3C0A-5B77-436E-B022-ECD373354486 - - - actionconfig - - command - 5 - confirm - - - actionuid - remote.alfred.systemcommand - buttoniconid - 6385322B-E7F1-4A1C-B7BB-5BCA0BDA64EE - buttonlabel - Sleep - itemuid - D7C9479E-0E9B-4A6A-A77A-D8A27A642F38 - - - actionconfig - - command - 11 - confirm - - - actionuid - remote.alfred.systemcommand - buttoniconid - A087E59F-F8F1-4222-B916-F1504AD2B5DB - buttonlabel - Sleep Displays - itemuid - DF250FF8-B509-4E72-9E45-C941C71041FC - - - actionconfig - - command - 1 - confirm - - - actionuid - remote.alfred.systemcommand - buttoniconid - 57DDD7C1-D19D-40D2-B375-F1FEB2B49E6B - buttonlabel - Screen Saver - itemuid - C7AF3DB9-500D-46DF-A56D-5AD0D00B8224 - - - - actionconfig - - command - 12 - confirm - - - actionuid - remote.alfred.systemcommand - buttoniconid - 1559CE13-D39B-4C37-BCAC-6EC719E084A3 - buttonlabel - Mac Vol Up - itemuid - A666BDAA-4C87-4F3C-BE26-D2450FF1D78C - - - actionconfig - - command - 13 - confirm - - - actionuid - remote.alfred.systemcommand - buttoniconid - 5DA5335C-4AA9-49B9-A792-290B475C8BEC - buttonlabel - Mac Vol Down - itemuid - E0C7F2AB-A71C-47A6-8D52-3C877A6A678B - - - actionconfig - - command - 14 - confirm - - - actionuid - remote.alfred.systemcommand - buttoniconid - 50CAF601-8E94-4C96-A9A7-DC7B3D77FDAB - buttonlabel - Mute Mac - itemuid - 97FE6B0A-E0AA-4FCA-81E9-4FAF46522708 - - - actionconfig - - command - 2 - confirm - - - actionuid - remote.alfred.systemcommand - buttoniconid - E679EE74-AFDF-4D43-AB92-57583A1FB352 - buttonlabel - Show Trash - itemuid - A8B1AA80-4C01-4C38-98D3-B149FA692AEB - - - actionconfig - - command - 3 - confirm - - - actionuid - remote.alfred.systemcommand - buttoniconid - 92CA2C9F-5460-4135-9882-3C107EFDF85E - buttonlabel - Empty Trash - itemuid - D4477103-6176-4F08-8E2A-3698AE8944B8 - - - actionconfig - - command - 9 - confirm - - - actionuid - remote.alfred.systemcommand - buttoniconid - C4D4BA8E-C80C-4789-9EB5-43A06414DFEB - buttonlabel - Quit All Apps - itemuid - 0EB2B06F-7B49-408A-9E4D-AD449C7C9375 - - - actionconfig - - command - 10 - confirm - - - actionuid - remote.alfred.systemcommand - buttoniconid - 426D4E4D-88C7-4B5C-9119-E5B6BF306C67 - buttonlabel - Eject All - itemuid - C5085E98-C8E6-4DAC-801C-F42216B65174 - - - actionconfig - - command - 6 - confirm - - - actionuid - remote.alfred.systemcommand - buttoniconid - 10D86B12-DBE0-43CA-A2AB-5E6E36447BD7 - buttonlabel - Lock - itemuid - 98F5DBC0-0031-460A-A529-F9A991B13506 - - - actionconfig - - command - 4 - confirm - - - actionuid - remote.alfred.systemcommand - buttoniconid - 02BB8F9B-811B-4065-BF1C-4AF35C1A0C42 - buttonlabel - Log Out - itemuid - 00A53023-4775-4903-9B70-3595A5912489 - - - actionconfig - - command - 7 - confirm - - - actionuid - remote.alfred.systemcommand - buttoniconid - EC0FCDAC-E659-4E1C-8FEE-0E6603FAF4CC - buttonlabel - Restart - itemuid - F85369E7-A150-41A7-ABA6-A0852CB70C5C - - - actionconfig - - command - 8 - confirm - - - actionuid - remote.alfred.systemcommand - buttoniconid - B99239C8-54FF-4B25-997B-1A59018CCEF0 - buttonlabel - Shut Down - itemuid - 4A82B466-0267-4FF2-9402-BFEA5A80A9F6 - - - itemsall - - - actionuid - remote.alfred.showalfred - buttoniconid - 95B178D1-F498-4CAC-94F8-EEED72C9EAAF - buttonlabel - Show Alfred - itemuid - C51B3C0A-5B77-436E-B022-ECD373354486 - - - actionconfig - - command - 5 - confirm - - - actionuid - remote.alfred.systemcommand - buttoniconid - 6385322B-E7F1-4A1C-B7BB-5BCA0BDA64EE - buttonlabel - Sleep - itemuid - D7C9479E-0E9B-4A6A-A77A-D8A27A642F38 - - - actionconfig - - command - 11 - confirm - - - actionuid - remote.alfred.systemcommand - buttoniconid - A087E59F-F8F1-4222-B916-F1504AD2B5DB - buttonlabel - Sleep Displays - itemuid - DF250FF8-B509-4E72-9E45-C941C71041FC - - - actionconfig - - command - 1 - confirm - - - actionuid - remote.alfred.systemcommand - buttoniconid - 57DDD7C1-D19D-40D2-B375-F1FEB2B49E6B - buttonlabel - Screen Saver - itemuid - C7AF3DB9-500D-46DF-A56D-5AD0D00B8224 - - - - actionconfig - - command - 12 - confirm - - - actionuid - remote.alfred.systemcommand - buttoniconid - 1559CE13-D39B-4C37-BCAC-6EC719E084A3 - buttonlabel - Mac Vol Up - itemuid - A666BDAA-4C87-4F3C-BE26-D2450FF1D78C - - - actionconfig - - command - 13 - confirm - - - actionuid - remote.alfred.systemcommand - buttoniconid - 5DA5335C-4AA9-49B9-A792-290B475C8BEC - buttonlabel - Mac Vol Down - itemuid - E0C7F2AB-A71C-47A6-8D52-3C877A6A678B - - - actionconfig - - command - 14 - confirm - - - actionuid - remote.alfred.systemcommand - buttoniconid - 50CAF601-8E94-4C96-A9A7-DC7B3D77FDAB - buttonlabel - Mute Mac - itemuid - 97FE6B0A-E0AA-4FCA-81E9-4FAF46522708 - - - actionconfig - - command - 2 - confirm - - - actionuid - remote.alfred.systemcommand - buttoniconid - E679EE74-AFDF-4D43-AB92-57583A1FB352 - buttonlabel - Show Trash - itemuid - A8B1AA80-4C01-4C38-98D3-B149FA692AEB - - - actionconfig - - command - 3 - confirm - - - actionuid - remote.alfred.systemcommand - buttoniconid - 92CA2C9F-5460-4135-9882-3C107EFDF85E - buttonlabel - Empty Trash - itemuid - D4477103-6176-4F08-8E2A-3698AE8944B8 - - - actionconfig - - command - 9 - confirm - - - actionuid - remote.alfred.systemcommand - buttoniconid - C4D4BA8E-C80C-4789-9EB5-43A06414DFEB - buttonlabel - Quit All Apps - itemuid - 0EB2B06F-7B49-408A-9E4D-AD449C7C9375 - - - actionconfig - - command - 10 - confirm - - - actionuid - remote.alfred.systemcommand - buttoniconid - 426D4E4D-88C7-4B5C-9119-E5B6BF306C67 - buttonlabel - Eject All - itemuid - C5085E98-C8E6-4DAC-801C-F42216B65174 - - - actionconfig - - command - 6 - confirm - - - actionuid - remote.alfred.systemcommand - buttoniconid - 10D86B12-DBE0-43CA-A2AB-5E6E36447BD7 - buttonlabel - Lock - itemuid - 98F5DBC0-0031-460A-A529-F9A991B13506 - - - actionconfig - - command - 4 - confirm - - - actionuid - remote.alfred.systemcommand - buttoniconid - 02BB8F9B-811B-4065-BF1C-4AF35C1A0C42 - buttonlabel - Log Out - itemuid - 00A53023-4775-4903-9B70-3595A5912489 - - - actionconfig - - command - 7 - confirm - - - actionuid - remote.alfred.systemcommand - buttoniconid - EC0FCDAC-E659-4E1C-8FEE-0E6603FAF4CC - buttonlabel - Restart - itemuid - F85369E7-A150-41A7-ABA6-A0852CB70C5C - - - actionconfig - - command - 8 - confirm - - - actionuid - remote.alfred.systemcommand - buttoniconid - B99239C8-54FF-4B25-997B-1A59018CCEF0 - buttonlabel - Shut Down - itemuid - 4A82B466-0267-4FF2-9402-BFEA5A80A9F6 - - - - - - - - - - - - - - - - - - - - - - - subtitle - Control your Mac - title - System Commands - - diff --git a/Alfred/Alfred.alfredpreferences/remote/pages/C85F3579-5652-45DC-870A-89322E642E53.data b/Alfred/Alfred.alfredpreferences/remote/pages/C85F3579-5652-45DC-870A-89322E642E53.data deleted file mode 100644 index bec3baa..0000000 --- a/Alfred/Alfred.alfredpreferences/remote/pages/C85F3579-5652-45DC-870A-89322E642E53.data +++ /dev/null @@ -1,412 +0,0 @@ - - - - - gridsize - 4 - hidelabels - - iconid - 9879DAE4-272F-427F-B904-E3912DD40038 - iconisuserspecified - - items - - - actionconfig - - command - 15 - - actionuid - remote.alfred.itunescommand - buttoniconid - 3614B607-B46E-4BC4-8096-9BA5CF5D9F55 - buttonlabel - Back track - itemuid - 6A60496C-9D3C-4ED9-95F3-F8BE88A6E2FE - - - actionconfig - - command - 1 - - actionuid - remote.alfred.itunescommand - buttoniconid - 9709A0BF-F21B-4E05-9D54-93EBFD3CD6E8 - buttonlabel - Play or Pause - itemuid - 3A13D2C9-F1E3-4990-B7D2-89ED756E026E - - - actionconfig - - command - 2 - - actionuid - remote.alfred.itunescommand - buttoniconid - 9D73BB97-2BF4-4472-A8AA-4E7890849D0B - buttonlabel - Next track - itemuid - 8C721357-0281-4824-9E8C-73B0F85722B1 - - - actionconfig - - command - 4 - - actionuid - remote.alfred.itunescommand - buttoniconid - B0174B46-EBE2-4540-9186-4CCF5990134D - buttonlabel - Random album - itemuid - 46B42D33-9250-4324-8D2A-31EB0E699642 - - - actionconfig - - command - 8 - - actionuid - remote.alfred.itunescommand - buttoniconid - 08A475A0-4D98-4055-A077-A4240621005D - buttonlabel - Mute - itemuid - 9BE58DF6-8A0E-4A13-BA2A-E7FCF4287F04 - - - actionconfig - - command - 7 - - actionuid - remote.alfred.itunescommand - buttoniconid - 7D666652-A158-4B3A-B5C9-94386B467D3B - buttonlabel - Volume down - itemuid - 89818861-F986-4E45-8C95-75601EBE12DF - - - actionconfig - - command - 6 - - actionuid - remote.alfred.itunescommand - buttoniconid - BAAF3940-9DDB-4CAE-966E-B48A930CA657 - buttonlabel - Volume up - itemuid - F3D3A356-1C02-46A0-A1A5-AAEE02E3187D - - - actionconfig - - command - 5 - - actionuid - remote.alfred.itunescommand - buttoniconid - D4D0AC6D-796C-4096-B2FB-6BDF70DECD70 - buttonlabel - Maximum volume - itemuid - FED66A6B-1B26-4D72-8208-C8921F94B335 - - - - - - - actionconfig - - command - 14 - - actionuid - remote.alfred.itunescommand - buttoniconid - 3BCF6DC8-7ED1-4400-93DE-C91BC6528157 - buttonlabel - Clear rating for current track - itemuid - D04B7487-9B7A-4A04-9277-A51B99DAD88B - - - actionconfig - - command - 9 - - actionuid - remote.alfred.itunescommand - buttoniconid - 450629F8-3ECE-4B44-852E-A2A87FAF684E - buttonlabel - ★ for current track - itemuid - 6D451E2E-D116-4582-84A0-405F7FE4F7AF - - - actionconfig - - command - 11 - - actionuid - remote.alfred.itunescommand - buttoniconid - 364213BC-647A-41F8-916C-0DC6AA557B86 - buttonlabel - ★★★ for current track - itemuid - DF4586DF-5540-4641-AA8B-33E90757C407 - - - actionconfig - - command - 13 - - actionuid - remote.alfred.itunescommand - buttoniconid - A175FCEB-7B03-435E-9D1C-6097F665261B - buttonlabel - ★★★★★ for current track - itemuid - FA7AF1A5-F76C-4B92-BB34-BDB5449F4F19 - - - itemsall - - - actionconfig - - command - 15 - - actionuid - remote.alfred.itunescommand - buttoniconid - 3614B607-B46E-4BC4-8096-9BA5CF5D9F55 - buttonlabel - Back track - itemuid - 6A60496C-9D3C-4ED9-95F3-F8BE88A6E2FE - - - actionconfig - - command - 1 - - actionuid - remote.alfred.itunescommand - buttoniconid - 9709A0BF-F21B-4E05-9D54-93EBFD3CD6E8 - buttonlabel - Play or Pause - itemuid - 3A13D2C9-F1E3-4990-B7D2-89ED756E026E - - - actionconfig - - command - 2 - - actionuid - remote.alfred.itunescommand - buttoniconid - 9D73BB97-2BF4-4472-A8AA-4E7890849D0B - buttonlabel - Next track - itemuid - 8C721357-0281-4824-9E8C-73B0F85722B1 - - - actionconfig - - command - 4 - - actionuid - remote.alfred.itunescommand - buttoniconid - B0174B46-EBE2-4540-9186-4CCF5990134D - buttonlabel - Random album - itemuid - 46B42D33-9250-4324-8D2A-31EB0E699642 - - - actionconfig - - command - 8 - - actionuid - remote.alfred.itunescommand - buttoniconid - 08A475A0-4D98-4055-A077-A4240621005D - buttonlabel - Mute - itemuid - 9BE58DF6-8A0E-4A13-BA2A-E7FCF4287F04 - - - actionconfig - - command - 7 - - actionuid - remote.alfred.itunescommand - buttoniconid - 7D666652-A158-4B3A-B5C9-94386B467D3B - buttonlabel - Volume down - itemuid - 89818861-F986-4E45-8C95-75601EBE12DF - - - actionconfig - - command - 6 - - actionuid - remote.alfred.itunescommand - buttoniconid - BAAF3940-9DDB-4CAE-966E-B48A930CA657 - buttonlabel - Volume up - itemuid - F3D3A356-1C02-46A0-A1A5-AAEE02E3187D - - - actionconfig - - command - 5 - - actionuid - remote.alfred.itunescommand - buttoniconid - D4D0AC6D-796C-4096-B2FB-6BDF70DECD70 - buttonlabel - Maximum volume - itemuid - FED66A6B-1B26-4D72-8208-C8921F94B335 - - - - - - - actionconfig - - command - 14 - - actionuid - remote.alfred.itunescommand - buttoniconid - 3BCF6DC8-7ED1-4400-93DE-C91BC6528157 - buttonlabel - Clear rating for current track - itemuid - D04B7487-9B7A-4A04-9277-A51B99DAD88B - - - actionconfig - - command - 9 - - actionuid - remote.alfred.itunescommand - buttoniconid - 450629F8-3ECE-4B44-852E-A2A87FAF684E - buttonlabel - ★ for current track - itemuid - 6D451E2E-D116-4582-84A0-405F7FE4F7AF - - - actionconfig - - command - 11 - - actionuid - remote.alfred.itunescommand - buttoniconid - 364213BC-647A-41F8-916C-0DC6AA557B86 - buttonlabel - ★★★ for current track - itemuid - DF4586DF-5540-4641-AA8B-33E90757C407 - - - actionconfig - - command - 13 - - actionuid - remote.alfred.itunescommand - buttoniconid - A175FCEB-7B03-435E-9D1C-6097F665261B - buttonlabel - ★★★★★ for current track - itemuid - FA7AF1A5-F76C-4B92-BB34-BDB5449F4F19 - - - - - - - - - - - - - - - - - - - - - - - subtitle - Control Music.app - title - Music Control - - diff --git a/Alfred/Alfred.alfredpreferences/remote/pages/CEC7274C-3101-4253-82CE-0A56B461CA6D.data b/Alfred/Alfred.alfredpreferences/remote/pages/CEC7274C-3101-4253-82CE-0A56B461CA6D.data deleted file mode 100644 index 6541d63..0000000 --- a/Alfred/Alfred.alfredpreferences/remote/pages/CEC7274C-3101-4253-82CE-0A56B461CA6D.data +++ /dev/null @@ -1,372 +0,0 @@ - - - - - gridsize - 4 - hidelabels - - iconid - EAC41EFE-E03F-42F9-B01B-09834ED7AF0E - iconisuserspecified - - items - - - actionconfig - - url - https://www.wikipedia.org - - actionuid - remote.alfred.openurl - buttoniconid - EC2CECFA-285C-4E5F-BA67-90D1B10C8D16 - buttonlabel - - itemuid - 120F79D1-053B-436A-ABE3-0650F71E9342 - - - actionconfig - - url - https://twitter.com - - actionuid - remote.alfred.openurl - buttoniconid - D027C2E7-7ACC-4933-B074-BA4D4CA52AE8 - buttonlabel - - itemuid - 7F6D58AC-8D3D-46D2-8841-D3308FDEFA3E - - - actionconfig - - url - https://www.facebook.com - - actionuid - remote.alfred.openurl - buttoniconid - 6FB134CE-4E10-43E8-A2F4-330F95643EA2 - buttonlabel - - itemuid - 592A4E9A-0821-473C-8253-CA3122E257FE - - - actionconfig - - url - https://www.youtube.com - - actionuid - remote.alfred.openurl - buttoniconid - 49CBA6E9-EDFD-4643-8EAC-05CC16B91B78 - buttonlabel - - itemuid - 9C4D2DBE-B269-48AA-90B8-8459FAC32829 - - - actionconfig - - url - https://www.apple.com - - actionuid - remote.alfred.openurl - buttoniconid - 8929F5A7-2447-4A98-BAE2-82F81013F8E3 - buttonlabel - - itemuid - F30DDE2A-0C23-4FA2-8A4F-286952C8A1B8 - - - actionconfig - - url - https://www.bbc.co.uk/news - - actionuid - remote.alfred.openurl - buttoniconid - 41519E90-2A8A-4357-A3CD-3524EAC0562B - buttonlabel - - itemuid - BFE9B267-A9F9-4EEE-995A-3CA2D7407879 - - - actionconfig - - url - https://www.alfredapp.com - - actionuid - remote.alfred.openurl - buttoniconid - 776D62FC-1F90-4E49-BB57-9AE68C494625 - buttonlabel - - itemuid - 94EBF0A0-7EE8-476B-9E16-C0F82A93D404 - - - - - - - - actionconfig - - url - https://www.alfredapp.com/help/ - - actionuid - remote.alfred.openurl - buttoniconid - BCE33ABB-7F9C-4588-B184-F4485E561FFE - buttonlabel - Alfred Support - itemuid - EC80AEB9-8A11-4C17-9C2B-453AE0E0BD39 - - - actionconfig - - url - https://www.alfredapp.com/shop/ - - actionuid - remote.alfred.openurl - buttoniconid - 51D3F695-464F-4264-8B1D-19AAE4DF8E99 - buttonlabel - Buy Alfred - itemuid - 63D00AF6-BAE6-4812-8EFA-CEBCC4C959F6 - - - actionconfig - - resultsubtitle - Look for help on '{query}' - resulttitle - Search Alfred Help - spaces - + - url - https://www.alfredapp.com/search/?q={query} - utf8 - - - actionuid - remote.alfred.openurl - buttoniconid - DCED03D3-76C7-4F55-818F-E3CAA6E293F2 - buttonlabel - Search Help - itemuid - 5AEC9009-4FBC-4596-BCA0-75050FFFFD96 - - - - itemsall - - - actionconfig - - url - https://www.wikipedia.org - - actionuid - remote.alfred.openurl - buttoniconid - EC2CECFA-285C-4E5F-BA67-90D1B10C8D16 - buttonlabel - - itemuid - 120F79D1-053B-436A-ABE3-0650F71E9342 - - - actionconfig - - url - https://twitter.com - - actionuid - remote.alfred.openurl - buttoniconid - D027C2E7-7ACC-4933-B074-BA4D4CA52AE8 - buttonlabel - - itemuid - 7F6D58AC-8D3D-46D2-8841-D3308FDEFA3E - - - actionconfig - - url - https://www.facebook.com - - actionuid - remote.alfred.openurl - buttoniconid - 6FB134CE-4E10-43E8-A2F4-330F95643EA2 - buttonlabel - - itemuid - 592A4E9A-0821-473C-8253-CA3122E257FE - - - actionconfig - - url - https://www.youtube.com - - actionuid - remote.alfred.openurl - buttoniconid - 49CBA6E9-EDFD-4643-8EAC-05CC16B91B78 - buttonlabel - - itemuid - 9C4D2DBE-B269-48AA-90B8-8459FAC32829 - - - actionconfig - - url - https://www.apple.com - - actionuid - remote.alfred.openurl - buttoniconid - 8929F5A7-2447-4A98-BAE2-82F81013F8E3 - buttonlabel - - itemuid - F30DDE2A-0C23-4FA2-8A4F-286952C8A1B8 - - - actionconfig - - url - https://www.bbc.co.uk/news - - actionuid - remote.alfred.openurl - buttoniconid - 41519E90-2A8A-4357-A3CD-3524EAC0562B - buttonlabel - - itemuid - BFE9B267-A9F9-4EEE-995A-3CA2D7407879 - - - actionconfig - - url - https://www.alfredapp.com - - actionuid - remote.alfred.openurl - buttoniconid - 776D62FC-1F90-4E49-BB57-9AE68C494625 - buttonlabel - - itemuid - 94EBF0A0-7EE8-476B-9E16-C0F82A93D404 - - - - - - - - actionconfig - - url - https://www.alfredapp.com/help/ - - actionuid - remote.alfred.openurl - buttoniconid - BCE33ABB-7F9C-4588-B184-F4485E561FFE - buttonlabel - Alfred Support - itemuid - EC80AEB9-8A11-4C17-9C2B-453AE0E0BD39 - - - actionconfig - - url - https://www.alfredapp.com/shop/ - - actionuid - remote.alfred.openurl - buttoniconid - 51D3F695-464F-4264-8B1D-19AAE4DF8E99 - buttonlabel - Buy Alfred - itemuid - 63D00AF6-BAE6-4812-8EFA-CEBCC4C959F6 - - - actionconfig - - resultsubtitle - Look for help on '{query}' - resulttitle - Search Alfred Help - spaces - + - url - https://www.alfredapp.com/search/?q={query} - utf8 - - - actionuid - remote.alfred.openurl - buttoniconid - DCED03D3-76C7-4F55-818F-E3CAA6E293F2 - buttonlabel - Search Help - itemuid - 5AEC9009-4FBC-4596-BCA0-75050FFFFD96 - - - - - - - - - - - - - - - - - - - - - - - - subtitle - URLs and Custom Searches - title - Bookmarks - - diff --git a/Alfred/Alfred.alfredpreferences/remote/pages/D4DBBADC-C1D0-4BE5-A864-FD34E266D786.data b/Alfred/Alfred.alfredpreferences/remote/pages/D4DBBADC-C1D0-4BE5-A864-FD34E266D786.data deleted file mode 100644 index e1969dd..0000000 --- a/Alfred/Alfred.alfredpreferences/remote/pages/D4DBBADC-C1D0-4BE5-A864-FD34E266D786.data +++ /dev/null @@ -1,468 +0,0 @@ - - - - - gridsize - 4 - hidelabels - - iconid - 7C63B75F-E8AE-44D0-95DA-BB9A318F03F1 - iconisuserspecified - - items - - - actionconfig - - path - /System/Library/PreferencePanes/Appearance.prefPane - - actionuid - remote.alfred.launchfile - buttoniconid - 953B40B5-C903-4EE9-8038-6A5122142204 - buttonlabel - Appearance.prefPane - itemuid - B26A0B28-70DC-4E15-AB8E-BE943D489AE3 - - - actionconfig - - path - /System/Library/PreferencePanes/DesktopScreenEffectsPref.prefPane - - actionuid - remote.alfred.launchfile - buttoniconid - 77E0C240-F652-4AD9-AF67-930A0019D699 - buttonlabel - DesktopScreenEffectsPref.prefPane - itemuid - 9EF93D53-47DA-4A63-B2ED-92991425F45C - - - actionconfig - - path - /System/Library/PreferencePanes/Dock.prefPane - - actionuid - remote.alfred.launchfile - buttoniconid - 9DF272BF-7997-402D-A042-969DDD5E12F9 - buttonlabel - Dock.prefPane - itemuid - 8B5A40B1-6476-4EDC-ADA1-0F9301CBE207 - - - actionconfig - - path - /System/Library/PreferencePanes/Security.prefPane - - actionuid - remote.alfred.launchfile - buttoniconid - 57B6FBF7-FBD0-4025-A18A-08AE4BE061E1 - buttonlabel - Security.prefPane - itemuid - 73E2A14A-4072-4B55-9F84-97AF52791DA0 - - - actionconfig - - path - /System/Library/PreferencePanes/Displays.prefPane - - actionuid - remote.alfred.launchfile - buttoniconid - 93904FA6-C2AC-4991-A539-93FF27174789 - buttonlabel - Displays.prefPane - itemuid - EEED5BA0-D028-49C9-8177-A5F9F24DA7D1 - - - actionconfig - - path - /System/Library/PreferencePanes/EnergySaver.prefPane - - actionuid - remote.alfred.launchfile - buttoniconid - EADFF19E-0813-44AF-BA4E-1276426D58F2 - buttonlabel - EnergySaver.prefPane - itemuid - 4AEC70A4-3853-405B-8740-DF0F645C2DC5 - - - actionconfig - - path - /System/Library/PreferencePanes/PrintAndScan.prefPane - - actionuid - remote.alfred.launchfile - buttoniconid - 50A3174C-19C7-49C6-B325-2CD6B48BAC9D - buttonlabel - PrintAndScan.prefPane - itemuid - 95AAA4CB-92E7-45D6-8563-C8D958435683 - - - actionconfig - - path - /System/Library/PreferencePanes/Sound.prefPane - - actionuid - remote.alfred.launchfile - buttoniconid - 01A8BB39-FD5F-4C7B-AC26-BF00E7DEF50E - buttonlabel - Sound.prefPane - itemuid - 19B7851E-601A-444A-87DF-9C68E37527D2 - - - - actionconfig - - path - /System/Library/PreferencePanes/Network.prefPane - - actionuid - remote.alfred.launchfile - buttoniconid - 8B5CB448-EA6C-4EEA-B53A-CC38824FEF7D - buttonlabel - Network.prefPane - itemuid - 863316F8-06F3-4E6B-BDF6-91DD0A290B7B - - - actionconfig - - path - /System/Library/PreferencePanes/Bluetooth.prefPane - - actionuid - remote.alfred.launchfile - buttoniconid - 7CD41A6B-4F26-4709-9B3F-90D5B982933E - buttonlabel - Bluetooth.prefPane - itemuid - 247EC67B-39D6-4CAF-BDFF-901B6BB676E1 - - - actionconfig - - path - /System/Library/PreferencePanes/SharingPref.prefPane - - actionuid - remote.alfred.launchfile - buttoniconid - 10218247-AF55-40E5-8973-30E90A28EFB8 - buttonlabel - SharingPref.prefPane - itemuid - B32AAA92-DD35-458F-AF23-1BA9F6DED904 - - - actionconfig - - path - /System/Library/PreferencePanes/Accounts.prefPane - - actionuid - remote.alfred.launchfile - buttoniconid - C42A8CF3-6B21-4D83-A765-80921865AA0C - buttonlabel - Accounts.prefPane - itemuid - 132FFACD-D567-4057-9964-B03D7BFD129A - - - - actionconfig - - path - /System/Library/PreferencePanes/DateAndTime.prefPane - - actionuid - remote.alfred.launchfile - buttoniconid - D994AD4F-8240-4A87-B7EA-55D9D5D6EB94 - buttonlabel - DateAndTime.prefPane - itemuid - C1875E88-52C2-4198-811A-F0CB4E376C4F - - - actionconfig - - path - /System/Library/PreferencePanes/TimeMachine.prefPane - - actionuid - remote.alfred.launchfile - buttoniconid - 4742A6FD-76B1-4556-8697-44C376E31043 - buttonlabel - TimeMachine.prefPane - itemuid - A271BAC0-492A-4BFA-A28E-A9F9F4AE76CF - - - itemsall - - - actionconfig - - path - /System/Library/PreferencePanes/Appearance.prefPane - - actionuid - remote.alfred.launchfile - buttoniconid - 953B40B5-C903-4EE9-8038-6A5122142204 - buttonlabel - Appearance.prefPane - itemuid - B26A0B28-70DC-4E15-AB8E-BE943D489AE3 - - - actionconfig - - path - /System/Library/PreferencePanes/DesktopScreenEffectsPref.prefPane - - actionuid - remote.alfred.launchfile - buttoniconid - 77E0C240-F652-4AD9-AF67-930A0019D699 - buttonlabel - DesktopScreenEffectsPref.prefPane - itemuid - 9EF93D53-47DA-4A63-B2ED-92991425F45C - - - actionconfig - - path - /System/Library/PreferencePanes/Dock.prefPane - - actionuid - remote.alfred.launchfile - buttoniconid - 9DF272BF-7997-402D-A042-969DDD5E12F9 - buttonlabel - Dock.prefPane - itemuid - 8B5A40B1-6476-4EDC-ADA1-0F9301CBE207 - - - actionconfig - - path - /System/Library/PreferencePanes/Security.prefPane - - actionuid - remote.alfred.launchfile - buttoniconid - 57B6FBF7-FBD0-4025-A18A-08AE4BE061E1 - buttonlabel - Security.prefPane - itemuid - 73E2A14A-4072-4B55-9F84-97AF52791DA0 - - - actionconfig - - path - /System/Library/PreferencePanes/Displays.prefPane - - actionuid - remote.alfred.launchfile - buttoniconid - 93904FA6-C2AC-4991-A539-93FF27174789 - buttonlabel - Displays.prefPane - itemuid - EEED5BA0-D028-49C9-8177-A5F9F24DA7D1 - - - actionconfig - - path - /System/Library/PreferencePanes/EnergySaver.prefPane - - actionuid - remote.alfred.launchfile - buttoniconid - EADFF19E-0813-44AF-BA4E-1276426D58F2 - buttonlabel - EnergySaver.prefPane - itemuid - 4AEC70A4-3853-405B-8740-DF0F645C2DC5 - - - actionconfig - - path - /System/Library/PreferencePanes/PrintAndScan.prefPane - - actionuid - remote.alfred.launchfile - buttoniconid - 50A3174C-19C7-49C6-B325-2CD6B48BAC9D - buttonlabel - PrintAndScan.prefPane - itemuid - 95AAA4CB-92E7-45D6-8563-C8D958435683 - - - actionconfig - - path - /System/Library/PreferencePanes/Sound.prefPane - - actionuid - remote.alfred.launchfile - buttoniconid - 01A8BB39-FD5F-4C7B-AC26-BF00E7DEF50E - buttonlabel - Sound.prefPane - itemuid - 19B7851E-601A-444A-87DF-9C68E37527D2 - - - - actionconfig - - path - /System/Library/PreferencePanes/Network.prefPane - - actionuid - remote.alfred.launchfile - buttoniconid - 8B5CB448-EA6C-4EEA-B53A-CC38824FEF7D - buttonlabel - Network.prefPane - itemuid - 863316F8-06F3-4E6B-BDF6-91DD0A290B7B - - - actionconfig - - path - /System/Library/PreferencePanes/Bluetooth.prefPane - - actionuid - remote.alfred.launchfile - buttoniconid - 7CD41A6B-4F26-4709-9B3F-90D5B982933E - buttonlabel - Bluetooth.prefPane - itemuid - 247EC67B-39D6-4CAF-BDFF-901B6BB676E1 - - - actionconfig - - path - /System/Library/PreferencePanes/SharingPref.prefPane - - actionuid - remote.alfred.launchfile - buttoniconid - 10218247-AF55-40E5-8973-30E90A28EFB8 - buttonlabel - SharingPref.prefPane - itemuid - B32AAA92-DD35-458F-AF23-1BA9F6DED904 - - - actionconfig - - path - /System/Library/PreferencePanes/Accounts.prefPane - - actionuid - remote.alfred.launchfile - buttoniconid - C42A8CF3-6B21-4D83-A765-80921865AA0C - buttonlabel - Accounts.prefPane - itemuid - 132FFACD-D567-4057-9964-B03D7BFD129A - - - - actionconfig - - path - /System/Library/PreferencePanes/DateAndTime.prefPane - - actionuid - remote.alfred.launchfile - buttoniconid - D994AD4F-8240-4A87-B7EA-55D9D5D6EB94 - buttonlabel - DateAndTime.prefPane - itemuid - C1875E88-52C2-4198-811A-F0CB4E376C4F - - - actionconfig - - path - /System/Library/PreferencePanes/TimeMachine.prefPane - - actionuid - remote.alfred.launchfile - buttoniconid - 4742A6FD-76B1-4556-8697-44C376E31043 - buttonlabel - TimeMachine.prefPane - itemuid - A271BAC0-492A-4BFA-A28E-A9F9F4AE76CF - - - - - - - - - - - - - - - - - - - - - - - subtitle - Launch macOS Preferences - title - Preferences - - diff --git a/Alfred/Alfred.alfredpreferences/remote/pages/pages.data b/Alfred/Alfred.alfredpreferences/remote/pages/pages.data deleted file mode 100644 index 5bd6a7e..0000000 --- a/Alfred/Alfred.alfredpreferences/remote/pages/pages.data +++ /dev/null @@ -1,17 +0,0 @@ - - - - - pages - - 481D8B47-3B66-4B5C-8EF2-76F8D8AB83EC - 3D35BF6F-B96E-455D-A139-7D182B94D8F3 - D4DBBADC-C1D0-4BE5-A864-FD34E266D786 - 2BBA183A-CB81-4605-8168-1D5E2A787AC8 - CEC7274C-3101-4253-82CE-0A56B461CA6D - C85F3579-5652-45DC-870A-89322E642E53 - - uid - D2421A13-039E-4C26-BB85-C82E0641CB91 - - diff --git a/Alfred/Alfred.alfredpreferences/workflows/user.workflow.B2C95387-6A5E-491C-BE92-1760F9E6AD13/info.plist b/Alfred/Alfred.alfredpreferences/workflows/user.workflow.B2C95387-6A5E-491C-BE92-1760F9E6AD13/info.plist deleted file mode 100644 index 58ffb1c..0000000 --- a/Alfred/Alfred.alfredpreferences/workflows/user.workflow.B2C95387-6A5E-491C-BE92-1760F9E6AD13/info.plist +++ /dev/null @@ -1,226 +0,0 @@ - - - - - bundleid - me.erynwells.alfred.rot13 - category - Tools - connections - - 2A9A789F-73FE-4EC7-A4BB-C3DF2F754B31 - - - destinationuid - 2BE12284-F92E-4AA6-8DD3-056ACFA0808B - modifiers - 0 - modifiersubtext - - vitoclose - - - - 2BE12284-F92E-4AA6-8DD3-056ACFA0808B - - - destinationuid - FD58018C-DC39-4396-A00F-A04372220916 - modifiers - 0 - modifiersubtext - - vitoclose - - - - destinationuid - 3CBC84E4-3CD7-4FBE-9894-D50A0783E8ED - modifiers - 0 - modifiersubtext - - vitoclose - - - - 591CAE39-3AC8-4EA2-9AE5-BECEBD018D86 - - - destinationuid - 2BE12284-F92E-4AA6-8DD3-056ACFA0808B - modifiers - 0 - modifiersubtext - - vitoclose - - - - - createdby - Eryn Wells - description - rot13 encode the input - disabled - - name - rot13 - objects - - - config - - argumenttype - 0 - keyword - rot13 - subtext - Rot13 encode "{query}" - text - Rot13 - withspace - - - type - alfred.workflow.input.keyword - uid - 2A9A789F-73FE-4EC7-A4BB-C3DF2F754B31 - version - 1 - - - config - - concurrently - - escaping - 102 - script - echo "$@" | tr a-zA-Z n-za-mN-ZA-M - scriptargtype - 1 - scriptfile - - type - 0 - - type - alfred.workflow.action.script - uid - 2BE12284-F92E-4AA6-8DD3-056ACFA0808B - version - 2 - - - config - - autopaste - - clipboardtext - - transient - - - type - alfred.workflow.output.clipboard - uid - FD58018C-DC39-4396-A00F-A04372220916 - version - 3 - - - config - - lastpathcomponent - - onlyshowifquerypopulated - - removeextension - - text - {query} - title - rot13 - - type - alfred.workflow.output.notification - uid - 3CBC84E4-3CD7-4FBE-9894-D50A0783E8ED - version - 1 - - - config - - action - 0 - argument - 1 - focusedappvariable - - focusedappvariablename - - leftcursor - - modsmode - 0 - relatedAppsMode - 0 - - type - alfred.workflow.trigger.hotkey - uid - 591CAE39-3AC8-4EA2-9AE5-BECEBD018D86 - version - 2 - - - readme - - uidata - - 2A9A789F-73FE-4EC7-A4BB-C3DF2F754B31 - - xpos - 40 - ypos - 50 - - 2BE12284-F92E-4AA6-8DD3-056ACFA0808B - - xpos - 230 - ypos - 50 - - 3CBC84E4-3CD7-4FBE-9894-D50A0783E8ED - - xpos - 410 - ypos - 170 - - 591CAE39-3AC8-4EA2-9AE5-BECEBD018D86 - - xpos - 40 - ypos - 175 - - FD58018C-DC39-4396-A00F-A04372220916 - - xpos - 410 - ypos - 50 - - - variablesdontexport - - version - 1.0 - webaddress - https://www.erynwells.me - - diff --git a/Ansible/bootstrap.yml b/Ansible/bootstrap.yml new file mode 100644 index 0000000..6ee82db --- /dev/null +++ b/Ansible/bootstrap.yml @@ -0,0 +1,53 @@ +--- +- hosts: localhost + vars: + repo: https://github.com/erynofwales/dotfiles.git + local_repo: ~/.dotfiles + dotfiles: + - Xdefaults + - emacs + - emacs.d + - env + - gdbinit + - gitconfig + - gitignore + - gvimrc + - hgrc + - indent.pro + - muttrc + - nethackrc + - profile + - rc + - screenrc + nvim_conifg: ~/.config/nvim + vim_bundles: + Vundle.vim: https://github.com/gmarik/Vundle.vim.git + tasks: + - name: Pull dotfiles + git: repo={{ repo }} dest={{ local_repo }} + + - name: Link dotfiles + file: src={{ local_repo }}/{{ item }} dest=~/.{{ item }} state=link + with_items: "{{ dotfiles }}" + + - name: Link ~/bin + file: src={{ local_repo }}/bin dest=~/bin state=link + + # Don't show last login when I open a terminal + - name: Touch .hushlogin + file: path=~/.hushlogin state=touch + + # Setup neovim + - name: Create ~/.config + file: path=~/.config state=directory + - name: Symlink vim dir for neovim + file: src={{ local_repo }}/vim dest={{ nvim_config }} + - name: Symlink vimrc for neovim + file: src={{ local_repo }}/vimrc dest={{ nvim_config }}/init.vim + + # Setup vim bundles + - name: Get Vim bundles + git: repo={{ item[1] }} dest={{ local_repo }}/vim/bundle/{{ item[0] }} + with_items: "{{ vim_bundles }}" + - name: Install bundles registered in vim + command: vim +PluginInstall +qall diff --git a/Ansible/facts/dotfiles.fact b/Ansible/facts/dotfiles.fact deleted file mode 100755 index 78714dc..0000000 --- a/Ansible/facts/dotfiles.fact +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env zsh - -dotfiles_root=$(git rev-parse --show-toplevel) -echo "{ \"path\": \"${dotfiles_root}\" }" diff --git a/Ansible/facts/xdg.fact b/Ansible/facts/xdg.fact deleted file mode 100644 index d3ec8dd..0000000 --- a/Ansible/facts/xdg.fact +++ /dev/null @@ -1,5 +0,0 @@ -{ - "config_home": "~/.config", - "data_home": "~/.local/share", - "state_home": "~/.local/state" -} diff --git a/Ansible/facts/xorg.fact b/Ansible/facts/xorg.fact deleted file mode 100755 index c450d24..0000000 --- a/Ansible/facts/xorg.fact +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env zsh - -if which xorg 1>/dev/null 2>&1; then - xorg_exists="true" -else - xorg_exists="false" -fi - -echo "{ \"exists\": ${xorg_exists} }" diff --git a/Ansible/inventory.yml b/Ansible/inventory.yml deleted file mode 100644 index d9c3146..0000000 --- a/Ansible/inventory.yml +++ /dev/null @@ -1,2 +0,0 @@ -all: - localhost: diff --git a/Ansible/mail.yml b/Ansible/mail.yml new file mode 100644 index 0000000..47d2c65 --- /dev/null +++ b/Ansible/mail.yml @@ -0,0 +1,12 @@ +--- +- hosts: localhost + vars: + dotfiles: ~/.dotfiles + packages: [mutt, offlineimap, urlview, w3m] + tasks: + - name: "Install packages: {{ packages|join(', ') }}" + homebrew: name={{ packages }} state=present + + - name: Link mutt config files + file: src={{ dotfiles }}/{{ item }} dest=~/.{{ item }} state=link + with_items: [muttrc, mutt] diff --git a/Ansible/play-setup.yml b/Ansible/play-setup.yml deleted file mode 100644 index dabc7e0..0000000 --- a/Ansible/play-setup.yml +++ /dev/null @@ -1,13 +0,0 @@ ---- -- name: Set up dotfiles - hosts: localhost - connection: local - module_defaults: - ansible.builtin.setup: - fact_path: "./facts" - vars: - eryn_dotfiles_ignore_symlink_errors: "{{ ansible_check_mode }}" - tasks: - - name: Include eryn role - ansible.builtin.include_role: - name: eryn diff --git a/Ansible/roles/eryn/defaults/main.yml b/Ansible/roles/eryn/defaults/main.yml deleted file mode 100644 index 2c73f2a..0000000 --- a/Ansible/roles/eryn/defaults/main.yml +++ /dev/null @@ -1,2 +0,0 @@ ---- -eryn_vim_plug_tag: 0.14.0 diff --git a/Ansible/roles/eryn/handlers/main.yml b/Ansible/roles/eryn/handlers/main.yml deleted file mode 100644 index d251ba1..0000000 --- a/Ansible/roles/eryn/handlers/main.yml +++ /dev/null @@ -1,6 +0,0 @@ -- name: "Rebuild local facts" - ansible.builtin.setup: - gather_subset: [ local ] - -- name: "Reload Dock" - ansible.builtin.command: killall Dock diff --git a/Ansible/roles/eryn/tasks/git.yml b/Ansible/roles/eryn/tasks/git.yml deleted file mode 100644 index 6b0bf55..0000000 --- a/Ansible/roles/eryn/tasks/git.yml +++ /dev/null @@ -1,8 +0,0 @@ ---- -- name: "git : Symlink configs" - ansible.builtin.include_tasks: symlink_dotfile.yml - vars: - dotfile_src: "{{ item }}" - loop: - - gitconfig - - gitignore diff --git a/Ansible/roles/eryn/tasks/macos/defaults.yml b/Ansible/roles/eryn/tasks/macos/defaults.yml deleted file mode 100644 index f3d721e..0000000 --- a/Ansible/roles/eryn/tasks/macos/defaults.yml +++ /dev/null @@ -1,48 +0,0 @@ ---- -- name: "macOS : General : Set localization defaults" - community.general.osx_defaults: - domain: NSGlobalDomain - key: "{{ item.key }}" - type: "{{ item.type | default(omit) }}" - value: "{{ item.value }}" - state: present - loop: - - { name: AppleICUForce24HourTime, value: true, type: bool } - - { name: AppleLanguages, value: [ en-US, es-US, ja-US ], type: array } - - { name: AppleShowScrollBars, value: WhenScrolling } - - { name: InitialKeyRepeat, value: 15, type: int } - - { name: KeyRepeat, value: 2, type: int } - - { name: NSAutomaticCapitalizationEnabled, value: false, type: bool } - - { name: NSAutomaticDashSubstitutionEnabled, value: false, type: bool } - - { name: NSAutomaticPeriodSubstitutionEnabled, value: false, type: bool } - - { name: NSAutomaticQuoteSubstitutionEnabled, value: false, type: bool } - - { name: NSAutomaticSpellingCorrectionEnabled, value: false, type: bool } - - { name: NSAutomaticTextCompletionCollapsed, value: true, type: bool } - - { name: NSAutomaticTextCompletionEnabled, value: true, type: bool } - -- name: "macOS : Dock : Set defaults" - community.general.osx_defaults: - domain: com.apple.Dock - key: "{{ item.key }}" - type: "{{ item.type | default(omit) }}" - value: "{{ item.value }}" - state: present - loop: - - { name: autohide, value: true, type: bool } - - { name: showhidden, value: true, type: bool } - - { name: tilesize, value: 72, type: int } - notify: Reload Dock - -- name: "macOS : TextEdit : Set defaults" - community.general.osx_defaults: - domain: com.apple.TextEdit - key: "{{ item.key }}" - type: "{{ item.type | default(omit) }}" - value: "{{ item.value }}" - state: present - loop: - - { key: IgnoreHTML, value: true, type: bool } - - { key: RichText, value: false, type: bool } - - { key: author, value: "Eryn Wells" } - - { key: NSFixedPitchFontSize, value: 14, type: int } - - { key: NSFixedPitchFontSize, value: 14, type: int } diff --git a/Ansible/roles/eryn/tasks/macos/homebrew.yml b/Ansible/roles/eryn/tasks/macos/homebrew.yml deleted file mode 100644 index 4602e09..0000000 --- a/Ansible/roles/eryn/tasks/macos/homebrew.yml +++ /dev/null @@ -1,37 +0,0 @@ ---- -- name: "macOS : homebrew : Does the brew command exist?" - ansible.builtin.stat: - path: /opt/homebrew/bin/brew - register: _eryn_homebrew_brew - -- name: "macOS : homebrew : Install Homebrew" - when: not _eryn_homebrew_brew.stat.exists - block: - - name: "macOS : homebrew : Create temporary file for install script" - ansible.builtin.tempfile: - state: file - prefix: homebrew-install - register: _eryn_homebrew_install_script - - - name: "macOS : homebrew : Set up homebrew" - block: - - name: "macOS : homebrew : Fetch install script" - ansible.builtin.get_url: - url: https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh - dest: "{{ _eryn_homebrew_install_script.path }}" - mode: "0644" - - - name: "macOS : homebrew : Run install script" - ansible.builtin.command: - cmd: bash {{ _eryn_homebrew_install_script.path }} - environment: - NONINTERACTIVE: 1 - - - name: "macOS : homebrew : Gather package manager facts" - ansible.builtin.setup: - gather_subset: pkg_mgr - always: - - name: "macOS : homebrew : Remove temporary install script" - ansible.builtin.file: - path: "{{ _eryn_homebrew_install_script.path }}" - state: absent diff --git a/Ansible/roles/eryn/tasks/macos/main.yml b/Ansible/roles/eryn/tasks/macos/main.yml deleted file mode 100644 index cc189c1..0000000 --- a/Ansible/roles/eryn/tasks/macos/main.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- -- name: "macOS : Configure defaults" - ansible.builtin.import_tasks: macos/defaults.yml - -- name: "macOS : Configure log utility" - ansible.builtin.import_tasks: macos/system-log.yml - -- name: "macOS : Configure homebrew" - ansible.builtin.import_tasks: macos/homebrew.yml diff --git a/Ansible/roles/eryn/tasks/macos/system-log.yml b/Ansible/roles/eryn/tasks/macos/system-log.yml deleted file mode 100644 index 3d646a2..0000000 --- a/Ansible/roles/eryn/tasks/macos/system-log.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -- name: "macOS : log : Symlink config" - ansible.builtin.include_tasks: symlink_dotfile.yml - vars: - dotfile_src: logrc diff --git a/Ansible/roles/eryn/tasks/main.yml b/Ansible/roles/eryn/tasks/main.yml deleted file mode 100644 index fa5b40d..0000000 --- a/Ansible/roles/eryn/tasks/main.yml +++ /dev/null @@ -1,25 +0,0 @@ ---- -- name: Configure macOS - ansible.builtin.import_tasks: macos/main.yml - when: ansible_os_family == "macOS" - -- name: Configure XDG environment - ansible.builtin.import_tasks: xdg_home.yml - -- name: Configure zsh - ansible.builtin.import_tasks: zsh.yml - -- name: Configure vim - ansible.builtin.import_tasks: vim.yml -- name: Configure neovim - ansible.builtin.import_tasks: neovim.yml - -- name: Configure git - ansible.builtin.import_tasks: git.yml - -- name: Configure tmux - ansible.builtin.import_tasks: tmux.yml - -- name: Configure X.org - ansible.builtin.import_tasks: xorg.yml - when: ansible_os_family == "Linux" diff --git a/Ansible/roles/eryn/tasks/neovim.yml b/Ansible/roles/eryn/tasks/neovim.yml deleted file mode 100644 index 777c0bf..0000000 --- a/Ansible/roles/eryn/tasks/neovim.yml +++ /dev/null @@ -1,16 +0,0 @@ ---- -- name: "neovim : Install neovim" - ansible.builtin.package: - name: neovim - state: present - -- name: "neovim : Download vim-plug from GitHub" - ansible.builtin.get_url: - url: "https://raw.githubusercontent.com/junegunn/vim-plug/{{ eryn_vim_plug_tag }}/plug.vim" - dest: "{{ ansible_local.xdg.data_home }}/nvim/site/autoload/plug.vim" - mode: "0644" - -- name: "neovim : Symlink config" - ansible.builtin.include_tasks: symlink_dotfile_directory.yml - vars: - dotfile_src: config/nvim diff --git a/Ansible/roles/eryn/tasks/nethack.yml b/Ansible/roles/eryn/tasks/nethack.yml deleted file mode 100644 index 9aa10cb..0000000 --- a/Ansible/roles/eryn/tasks/nethack.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -- name: "nethack : Symlink config" - ansible.builtin.include_tasks: symlink_dotfile.yml - vars: - dotfile_src: nethackrc diff --git a/Ansible/roles/eryn/tasks/symlink_dotfile.yml b/Ansible/roles/eryn/tasks/symlink_dotfile.yml deleted file mode 100644 index f03fbab..0000000 --- a/Ansible/roles/eryn/tasks/symlink_dotfile.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- -- name: "Symlink {{ dotfile_src }}" - ansible.builtin.file: - src: "{{ ansible_local.dotfiles.path }}/{{ dotfile_src }}" - dest: "{{ dotfile_dest | default('~/.' + dotfile_src) }}" - owner: "{{ ansible_user_id }}" - mode: 0640 - state: link - ignore_errors: "{{ eryn_dotfiles_ignore_symlink_errors | default(false) }}" diff --git a/Ansible/roles/eryn/tasks/symlink_dotfile_directory.yml b/Ansible/roles/eryn/tasks/symlink_dotfile_directory.yml deleted file mode 100644 index 88da218..0000000 --- a/Ansible/roles/eryn/tasks/symlink_dotfile_directory.yml +++ /dev/null @@ -1,9 +0,0 @@ ---- -- name: "Symlink {{ dotfile_src }}" - ansible.builtin.file: - src: "{{ ansible_local.dotfiles.path }}/{{ dotfile_src }}" - dest: "{{ dotfile_dest | default('~/.' + dotfile_src) }}" - owner: "{{ ansible_user_id }}" - mode: 0750 - state: link - ignore_errors: "{{ eryn_dotfiles_ignore_symlink_errors | default(false) }}" diff --git a/Ansible/roles/eryn/tasks/tmux.yml b/Ansible/roles/eryn/tasks/tmux.yml deleted file mode 100644 index 3c5effc..0000000 --- a/Ansible/roles/eryn/tasks/tmux.yml +++ /dev/null @@ -1,5 +0,0 @@ ---- -- name: "tmux : Symlink config" - ansible.builtin.include_tasks: symlink_dotfile_directory.yml - vars: - dotfile_src: config/tmux diff --git a/Ansible/roles/eryn/tasks/vim.yml b/Ansible/roles/eryn/tasks/vim.yml deleted file mode 100644 index 42346a3..0000000 --- a/Ansible/roles/eryn/tasks/vim.yml +++ /dev/null @@ -1,30 +0,0 @@ ---- -- name: "vim : Install vim" - ansible.builtin.package: - name: - - vim - - neovide - state: present - -- name: "vim : Symlink config files" - ansible.builtin.include_tasks: symlink_dotfile.yml - vars: - dotfile_src: "{{ item }}" - loop: - - vimrc - - vimrc.common - -# The viminfo file goes here, but vim won't write it if the directory doesn't exist. -- name: "vim : Create vim state directory" - ansible.builtin.file: - path: "{{ ansible_local.xdg.state_home }}/vim" - owner: "{{ ansible_user_id }}" - mode: "0750" - state: directory - -- name: "vim : Symlink runtime directory" - ansible.builtin.include_tasks: symlink_dotfile_directory.yml - vars: - dotfile_src: "{{ item }}" - loop: - - vim diff --git a/Ansible/roles/eryn/tasks/xdg_home.yml b/Ansible/roles/eryn/tasks/xdg_home.yml deleted file mode 100644 index df472cd..0000000 --- a/Ansible/roles/eryn/tasks/xdg_home.yml +++ /dev/null @@ -1,12 +0,0 @@ ---- -- name: Create XDG directories - ansible.builtin.file: - path: "{{ item }}" - state: directory - owner: "{{ ansible_user_id }}" - mode: 0750 - loop: - - "{{ ansible_local.xdg.config_home }}" - - "{{ ansible_local.xdg.data_home }}" - - "{{ ansible_local.xdg.state_home }}" - diff --git a/Ansible/roles/eryn/tasks/xorg.yml b/Ansible/roles/eryn/tasks/xorg.yml deleted file mode 100644 index 6956952..0000000 --- a/Ansible/roles/eryn/tasks/xorg.yml +++ /dev/null @@ -1,23 +0,0 @@ ---- -# TODO: This likely will require a lot more packages to install. IIRC, X.org -# also requires input and video packages to run in a basic state. Not to -# mention, graphics acceleration, window management, etc. - -- name: "Xorg : Install X.org" - ansible.builtin.package: - name: xorg - state: present - notify: Rebuild local facts - -# Make sure local facts are rebuilt so the steps below can correctly detect -# if X.org is present. -- name: "Xorg : Flush handlers" - meta: flush_handlers - -- name: "Xorg : Configure" - when: ansible_local.xorg.exists - block: - - name: "Xorg : Symlink Xdefaults" - ansible.builtin.include_tasks: symlink_dotfile_directory.yml - vars: - dotfile_src: Xdefaults diff --git a/Ansible/roles/eryn/tasks/zsh.yml b/Ansible/roles/eryn/tasks/zsh.yml deleted file mode 100644 index 943e435..0000000 --- a/Ansible/roles/eryn/tasks/zsh.yml +++ /dev/null @@ -1,32 +0,0 @@ ---- -- name: "zsh : Set user shell" - ansible.builtin.user: - name: "{{ ansible_user_id }}" - shell: /bin/zsh - state: present - -- name: "zsh : Symlink startup files" - ansible.builtin.include_tasks: symlink_dotfile.yml - vars: - dotfile_src: "{{ item.src | default(item) }}" - dotfile_dest: "{{ item.dest | default(item) }}" - loop: - - zshenv - - zshrc - - zprofile - -- name: "zsh : Install user functions" - block: - - name: "zsh : Create zsh directory" - ansible.builtin.file: - path: ~/.zsh - owner: "{{ ansible_user_id }}" - mode: 0755 - state: directory - - - name: "zsh : Symlink functions directories" - ansible.builtin.include_tasks: symlink_dotfile_directory.yml - vars: - dotfile_src: "{{ item }}" - loop: - - zsh/func diff --git a/Colors/Dracula-ish.terminal b/Colors/Dracula-ish.terminal deleted file mode 100644 index 3b2091d..0000000 --- a/Colors/Dracula-ish.terminal +++ /dev/null @@ -1,236 +0,0 @@ - - - - - ANSIBlackColor - - YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS - AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO - U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxAnMC4xMjk0MTE3NjQ3IDAuMTMzMzMzMzMz - MyAwLjE3MjU0OTAxOTYAEAGAAtIUFRYXWiRjbGFzc25hbWVYJGNsYXNzZXNXTlNDb2xv - cqIWGFhOU09iamVjdAgRGiQpMjdJTFFTV11kand+qKqssbzFzdAAAAAAAAABAQAAAAAA - AAAZAAAAAAAAAAAAAAAAAAAA2Q== - - ANSIBlueColor - - YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS - AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO - U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxAnMC43NDExNzY0NzA2IDAuNTc2NDcwNTg4 - MiAwLjk3NjQ3MDU4ODIAEAGAAtIUFRYXWiRjbGFzc25hbWVYJGNsYXNzZXNXTlNDb2xv - cqIWGFhOU09iamVjdAgRGiQpMjdJTFFTV11kand+qKqssbzFzdAAAAAAAAABAQAAAAAA - AAAZAAAAAAAAAAAAAAAAAAAA2Q== - - ANSIBrightBlackColor - - YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS - AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO - U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxAnMC4zODQzMTM3MjU1IDAuNDQ3MDU4ODIz - NSAwLjY0MzEzNzI1NDkAEAGAAtIUFRYXWiRjbGFzc25hbWVYJGNsYXNzZXNXTlNDb2xv - cqIWGFhOU09iamVjdAgRGiQpMjdJTFFTV11kand+qKqssbzFzdAAAAAAAAABAQAAAAAA - AAAZAAAAAAAAAAAAAAAAAAAA2Q== - - ANSIBrightBlueColor - - YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS - AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO - U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxAcMC44MzkyMTU2ODYzIDAuNjc0NTA5ODAz - OSAxABABgALSFBUWF1okY2xhc3NuYW1lWCRjbGFzc2VzV05TQ29sb3KiFhhYTlNPYmpl - Y3QIERokKTI3SUxRU1ddZGp3fp2foaaxusLFAAAAAAAAAQEAAAAAAAAAGQAAAAAAAAAA - AAAAAAAAAM4= - - ANSIBrightCyanColor - - YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS - AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO - U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxARMC42NDMxMzcyNTQ5IDEgMQAQAYAC0hQV - FhdaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohYYWE5TT2JqZWN0CBEaJCkyN0lM - UVNXXWRqd36SlJabpq+3ugAAAAAAAAEBAAAAAAAAABkAAAAAAAAAAAAAAAAAAADD - - ANSIBrightGreenColor - - YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS - AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO - U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxAcMC40MTE3NjQ3MDU5IDEgMC41ODAzOTIx - NTY5ABABgALSFBUWF1okY2xhc3NuYW1lWCRjbGFzc2VzV05TQ29sb3KiFhhYTlNPYmpl - Y3QIERokKTI3SUxRU1ddZGp3fp2foaaxusLFAAAAAAAAAQEAAAAAAAAAGQAAAAAAAAAA - AAAAAAAAAM4= - - ANSIBrightMagentaColor - - YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS - AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO - U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxAcMSAwLjU3MjU0OTAxOTYgMC44NzQ1MDk4 - MDM5ABABgALSFBUWF1okY2xhc3NuYW1lWCRjbGFzc2VzV05TQ29sb3KiFhhYTlNPYmpl - Y3QIERokKTI3SUxRU1ddZGp3fp2foaaxusLFAAAAAAAAAQEAAAAAAAAAGQAAAAAAAAAA - AAAAAAAAAM4= - - ANSIBrightRedColor - - YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS - AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO - U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxAaMSAwLjQzMTM3MjU0OSAwLjQzMTM3MjU0 - OQAQAYAC0hQVFhdaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohYYWE5TT2JqZWN0 - CBEaJCkyN0lMUVNXXWRqd36bnZ+kr7jAwwAAAAAAAAEBAAAAAAAAABkAAAAAAAAAAAAA - AAAAAADM - - ANSIBrightWhiteColor - - YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS - AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO - U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzRjEgMSAxABABgALSFBUWF1okY2xhc3NuYW1l - WCRjbGFzc2VzV05TQ29sb3KiFhhYTlNPYmplY3QIERokKTI3SUxRU1ddZGp3foWHiY6Z - oqqtAAAAAAAAAQEAAAAAAAAAGQAAAAAAAAAAAAAAAAAAALY= - - ANSIBrightYellowColor - - YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS - AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO - U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxARMSAxIDAuNjQ3MDU4ODIzNQAQAYAC0hQV - FhdaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9yohYYWE5TT2JqZWN0CBEaJCkyN0lM - UVNXXWRqd36SlJabpq+3ugAAAAAAAAEBAAAAAAAAABkAAAAAAAAAAAAAAAAAAADD - - ANSICyanColor - - YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS - AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGmCwwXHR4lVSRudWxs1Q0ODxAR - EhMUFRZcTlNDb21wb25lbnRzVU5TUkdCXE5TQ29sb3JTcGFjZV8QEk5TQ3VzdG9tQ29s - b3JTcGFjZVYkY2xhc3NPECgwLjU0NTA5ODAzOTIgMC45MTM3MjU0OTAyIDAuOTkyMTU2 - ODYyNyAxTxAcMC4zNDg5MzIyMzY0IDAuOTExNTk0MDkyOCAxABABgAKABdMYERkaGxxV - TlNJQ0NZTlNTcGFjZUlEgAOABBAMTxECGAAAAhhhcHBsBAAAAG1udHJSR0IgWFlaIAfm - AAEAAQAAAAAAAGFjc3BBUFBMAAAAAEFQUEwAAAAAAAAAAAAAAAAAAAAAAAD21gABAAAA - ANMtYXBwbOz9o444hUfDbbS9T3raGC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA - AAAACmRlc2MAAAD8AAAAMGNwcnQAAAEsAAAAUHd0cHQAAAF8AAAAFHJYWVoAAAGQAAAA - FGdYWVoAAAGkAAAAFGJYWVoAAAG4AAAAFHJUUkMAAAHMAAAAIGNoYWQAAAHsAAAALGJU - UkMAAAHMAAAAIGdUUkMAAAHMAAAAIG1sdWMAAAAAAAAAAQAAAAxlblVTAAAAFAAAABwA - RABpAHMAcABsAGEAeQAgAFAAM21sdWMAAAAAAAAAAQAAAAxlblVTAAAANAAAABwAQwBv - AHAAeQByAGkAZwBoAHQAIABBAHAAcABsAGUAIABJAG4AYwAuACwAIAAyADAAMgAyWFla - IAAAAAAAAPbVAAEAAAAA0yxYWVogAAAAAAAAg98AAD2/////u1hZWiAAAAAAAABKvwAA - sTcAAAq5WFlaIAAAAAAAACg4AAARCwAAyLlwYXJhAAAAAAADAAAAAmZmAADypwAADVkA - ABPQAAAKW3NmMzIAAAAAAAEMQgAABd7///MmAAAHkwAA/ZD///ui///9owAAA9wAAMBu - 0h8gISJaJGNsYXNzbmFtZVgkY2xhc3Nlc1xOU0NvbG9yU3BhY2WiIyRcTlNDb2xvclNw - YWNlWE5TT2JqZWN00h8gJidXTlNDb2xvcqImJAAIABEAGgAkACkAMgA3AEkATABRAFMA - WgBgAGsAeAB+AIsAoACnANIA8QDzAPUA9wD+AQQBDgEQARIBFAMwAzUDQANJA1YDWQNm - A28DdAN8AAAAAAAAAgEAAAAAAAAAKAAAAAAAAAAAAAAAAAAAA38= - - ANSIGreenColor - - YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS - AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO - U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxAnMC4zMTM3MjU0OTAyIDAuOTgwMzkyMTU2 - OSAwLjU0OTAxOTYwNzgAEAGAAtIUFRYXWiRjbGFzc25hbWVYJGNsYXNzZXNXTlNDb2xv - cqIWGFhOU09iamVjdAgRGiQpMjdJTFFTV11kand+qKqssbzFzdAAAAAAAAABAQAAAAAA - AAAZAAAAAAAAAAAAAAAAAAAA2Q== - - ANSIMagentaColor - - YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS - AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO - U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxAcMSAwLjQ3NDUwOTgwNTQgMC43NzY0NzA2 - MDE2ABABgALSFBUWF1okY2xhc3NuYW1lWCRjbGFzc2VzV05TQ29sb3KiFhhYTlNPYmpl - Y3QIERokKTI3SUxRU1ddZGp3fp2foaaxusLFAAAAAAAAAQEAAAAAAAAAGQAAAAAAAAAA - AAAAAAAAAM4= - - ANSIRedColor - - YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS - AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO - U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxAcMSAwLjMzMzMzMzMzMzMgMC4zMzMzMzMz - MzMzABABgALSFBUWF1okY2xhc3NuYW1lWCRjbGFzc2VzV05TQ29sb3KiFhhYTlNPYmpl - Y3QIERokKTI3SUxRU1ddZGp3fp2foaaxusLFAAAAAAAAAQEAAAAAAAAAGQAAAAAAAAAA - AAAAAAAAAM4= - - ANSIWhiteColor - - YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS - AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO - U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxAnMC45NzI1NDkwMTk2IDAuOTcyNTQ5MDE5 - NiAwLjk0OTAxOTYwNzgAEAGAAtIUFRYXWiRjbGFzc25hbWVYJGNsYXNzZXNXTlNDb2xv - cqIWGFhOU09iamVjdAgRGiQpMjdJTFFTV11kand+qKqssbzFzdAAAAAAAAABAQAAAAAA - AAAZAAAAAAAAAAAAAAAAAAAA2Q== - - ANSIYellowColor - - YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS - AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO - U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxAmMC45NDUwOTgwNDI1IDAuOTgwMzkyMTU4 - IDAuNTQ5MDE5NjM0NwAQAYAC0hQVFhdaJGNsYXNzbmFtZVgkY2xhc3Nlc1dOU0NvbG9y - ohYYWE5TT2JqZWN0CBEaJCkyN0lMUVNXXWRqd36nqauwu8TMzwAAAAAAAAEBAAAAAAAA - ABkAAAAAAAAAAAAAAAAAAADY - - BackgroundBlur - 0.29667969048023218 - BackgroundColor - - YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS - AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO - U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxA1MC4wOTg2ODAwMDYyNSAwLjEwMzYxNDAw - NjYgMC4xMzMyMTgwMDg0IDAuOTYwMDY5NDQ0NAAQAYAC0hQVFhdaJGNsYXNzbmFtZVgk - Y2xhc3Nlc1dOU0NvbG9yohYYWE5TT2JqZWN0CBEaJCkyN0lMUVNXXWRqd362uLq/ytPb - 3gAAAAAAAAEBAAAAAAAAABkAAAAAAAAAAAAAAAAAAADn - - BlinkText - - CursorColor - - YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS - AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO - U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxAnMC45NzI1NDkwMTk2IDAuOTcyNTQ5MDE5 - NiAwLjk0OTAxOTYwNzgAEAGAAtIUFRYXWiRjbGFzc25hbWVYJGNsYXNzZXNXTlNDb2xv - cqIWGFhOU09iamVjdAgRGiQpMjdJTFFTV11kand+qKqssbzFzdAAAAAAAAABAQAAAAAA - AAAZAAAAAAAAAAAAAAAAAAAA2Q== - - CursorType - 0 - DisableANSIColor - - Font - - YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS - AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGkCwwVFlUkbnVsbNQNDg8QERIT - FFZOU1NpemVYTlNmRmxhZ3NWTlNOYW1lViRjbGFzcyNALAAAAAAAABAQgAKAA1xTRk1v - bm8tTGlnaHTSFxgZGlokY2xhc3NuYW1lWCRjbGFzc2VzVk5TRm9udKIZG1hOU09iamVj - dAgRGiQpMjdJTFFTWF5nbnd+hY6QkpShprG6wcQAAAAAAAABAQAAAAAAAAAcAAAAAAAA - AAAAAAAAAAAAzQ== - - FontAntialias - - ProfileCurrentVersion - 2.0699999999999998 - SelectionColor - - YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS - AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO - U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxAnMC4yNjY2NjY2ODA2IDAuMjc4NDMxMzg1 - OCAwLjM1Mjk0MTE4NTIAEAGAAtIUFRYXWiRjbGFzc25hbWVYJGNsYXNzZXNXTlNDb2xv - cqIWGFhOU09iamVjdAgRGiQpMjdJTFFTV11kand+qKqssbzFzdAAAAAAAAABAQAAAAAA - AAAZAAAAAAAAAAAAAAAAAAAA2Q== - - TextBoldColor - - YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS - AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO - U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzRjEgMSAxABABgALSFBUWF1okY2xhc3NuYW1l - WCRjbGFzc2VzV05TQ29sb3KiFhhYTlNPYmplY3QIERokKTI3SUxRU1ddZGp3foWHiY6Z - oqqtAAAAAAAAAQEAAAAAAAAAGQAAAAAAAAAAAAAAAAAAALY= - - TextColor - - YnBsaXN0MDDUAQIDBAUGBwpYJHZlcnNpb25ZJGFyY2hpdmVyVCR0b3BYJG9iamVjdHMS - AAGGoF8QD05TS2V5ZWRBcmNoaXZlctEICVRyb290gAGjCwwTVSRudWxs0w0ODxARElVO - U1JHQlxOU0NvbG9yU3BhY2VWJGNsYXNzTxAnMC45NzI1NDkwMTk2IDAuOTcyNTQ5MDE5 - NiAwLjk0OTAxOTYwNzgAEAGAAtIUFRYXWiRjbGFzc25hbWVYJGNsYXNzZXNXTlNDb2xv - cqIWGFhOU09iamVjdAgRGiQpMjdJTFFTV11kand+qKqssbzFzdAAAAAAAAABAQAAAAAA - AAAZAAAAAAAAAAAAAAAAAAAA2Q== - - UseBoldFonts - - UseBrightBold - - name - Dracula-ish - type - Window Settings - useOptionAsMetaKey - - - diff --git a/Dotfiles/Dotfiles.xcodeproj/project.pbxproj b/Dotfiles/Dotfiles.xcodeproj/project.pbxproj new file mode 100644 index 0000000..095777f --- /dev/null +++ b/Dotfiles/Dotfiles.xcodeproj/project.pbxproj @@ -0,0 +1,320 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 55; + objects = { + +/* Begin PBXBuildFile section */ + C084FC452797B3C100915D6A /* main.swift in Sources */ = {isa = PBXBuildFile; fileRef = C084FC442797B3C100915D6A /* main.swift */; }; + C084FC4B2797B3EC00915D6A /* ArgumentParser in Frameworks */ = {isa = PBXBuildFile; productRef = C084FC4A2797B3EC00915D6A /* ArgumentParser */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + C084FC3F2797B3C100915D6A /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + ); + runOnlyForDeploymentPostprocessing = 1; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + C084FC412797B3C100915D6A /* ShellLog */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = ShellLog; sourceTree = BUILT_PRODUCTS_DIR; }; + C084FC442797B3C100915D6A /* main.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = main.swift; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + C084FC3E2797B3C100915D6A /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + C084FC4B2797B3EC00915D6A /* ArgumentParser in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + C084FC362797B39E00915D6A = { + isa = PBXGroup; + children = ( + C084FC432797B3C100915D6A /* ShellLog */, + C084FC422797B3C100915D6A /* Products */, + ); + sourceTree = ""; + }; + C084FC422797B3C100915D6A /* Products */ = { + isa = PBXGroup; + children = ( + C084FC412797B3C100915D6A /* ShellLog */, + ); + name = Products; + sourceTree = ""; + }; + C084FC432797B3C100915D6A /* ShellLog */ = { + isa = PBXGroup; + children = ( + C084FC442797B3C100915D6A /* main.swift */, + ); + path = ShellLog; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + C084FC402797B3C100915D6A /* ShellLog */ = { + isa = PBXNativeTarget; + buildConfigurationList = C084FC462797B3C100915D6A /* Build configuration list for PBXNativeTarget "ShellLog" */; + buildPhases = ( + C084FC3D2797B3C100915D6A /* Sources */, + C084FC3E2797B3C100915D6A /* Frameworks */, + C084FC3F2797B3C100915D6A /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = ShellLog; + packageProductDependencies = ( + C084FC4A2797B3EC00915D6A /* ArgumentParser */, + ); + productName = ShellLog; + productReference = C084FC412797B3C100915D6A /* ShellLog */; + productType = "com.apple.product-type.tool"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + C084FC372797B39E00915D6A /* Project object */ = { + isa = PBXProject; + attributes = { + BuildIndependentTargetsInParallel = 1; + LastSwiftUpdateCheck = 1320; + LastUpgradeCheck = 1320; + TargetAttributes = { + C084FC402797B3C100915D6A = { + CreatedOnToolsVersion = 13.2.1; + }; + }; + }; + buildConfigurationList = C084FC3A2797B39E00915D6A /* Build configuration list for PBXProject "Dotfiles" */; + compatibilityVersion = "Xcode 13.0"; + developmentRegion = en; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = C084FC362797B39E00915D6A; + packageReferences = ( + C084FC492797B3EC00915D6A /* XCRemoteSwiftPackageReference "swift-argument-parser" */, + ); + productRefGroup = C084FC422797B3C100915D6A /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + C084FC402797B3C100915D6A /* ShellLog */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXSourcesBuildPhase section */ + C084FC3D2797B3C100915D6A /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + C084FC452797B3C100915D6A /* main.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + C084FC3B2797B39E00915D6A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + }; + name = Debug; + }; + C084FC3C2797B39E00915D6A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + }; + name = Release; + }; + C084FC472797B3C100915D6A /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + DEVELOPMENT_TEAM = 78372RE6B4; + ENABLE_HARDENED_RUNTIME = YES; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + INSTALL_PATH = "$(HOME)/bin"; + MACOSX_DEPLOYMENT_TARGET = 11.6; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + C084FC482797B3C100915D6A /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + CODE_SIGN_STYLE = Automatic; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + DEVELOPMENT_TEAM = 78372RE6B4; + ENABLE_HARDENED_RUNTIME = YES; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + INSTALL_PATH = "$(HOME)/bin"; + MACOSX_DEPLOYMENT_TARGET = 11.6; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = macosx; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + C084FC3A2797B39E00915D6A /* Build configuration list for PBXProject "Dotfiles" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C084FC3B2797B39E00915D6A /* Debug */, + C084FC3C2797B39E00915D6A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + C084FC462797B3C100915D6A /* Build configuration list for PBXNativeTarget "ShellLog" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + C084FC472797B3C100915D6A /* Debug */, + C084FC482797B3C100915D6A /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + +/* Begin XCRemoteSwiftPackageReference section */ + C084FC492797B3EC00915D6A /* XCRemoteSwiftPackageReference "swift-argument-parser" */ = { + isa = XCRemoteSwiftPackageReference; + repositoryURL = "https://github.com/apple/swift-argument-parser.git"; + requirement = { + kind = upToNextMajorVersion; + minimumVersion = 1.0.0; + }; + }; +/* End XCRemoteSwiftPackageReference section */ + +/* Begin XCSwiftPackageProductDependency section */ + C084FC4A2797B3EC00915D6A /* ArgumentParser */ = { + isa = XCSwiftPackageProductDependency; + package = C084FC492797B3EC00915D6A /* XCRemoteSwiftPackageReference "swift-argument-parser" */; + productName = ArgumentParser; + }; +/* End XCSwiftPackageProductDependency section */ + }; + rootObject = C084FC372797B39E00915D6A /* Project object */; +} diff --git a/Dotfiles/Dotfiles.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Dotfiles/Dotfiles.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..919434a --- /dev/null +++ b/Dotfiles/Dotfiles.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/Alfred/Alfred.alfredpreferences/preferences/appearance/options/prefs.plist b/Dotfiles/Dotfiles.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 79% rename from Alfred/Alfred.alfredpreferences/preferences/appearance/options/prefs.plist rename to Dotfiles/Dotfiles.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist index 8bfe604..18d9810 100644 --- a/Alfred/Alfred.alfredpreferences/preferences/appearance/options/prefs.plist +++ b/Dotfiles/Dotfiles.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -2,9 +2,7 @@ - hidehat - - hidemenu + IDEDidComputeMac32BitWarning diff --git a/Dotfiles/Dotfiles.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved b/Dotfiles/Dotfiles.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved new file mode 100644 index 0000000..91fdecb --- /dev/null +++ b/Dotfiles/Dotfiles.xcodeproj/project.xcworkspace/xcshareddata/swiftpm/Package.resolved @@ -0,0 +1,16 @@ +{ + "object": { + "pins": [ + { + "package": "swift-argument-parser", + "repositoryURL": "https://github.com/apple/swift-argument-parser.git", + "state": { + "branch": null, + "revision": "e1465042f195f374b94f915ba8ca49de24300a0d", + "version": "1.0.2" + } + } + ] + }, + "version": 1 +} diff --git a/Dotfiles/ShellLog/main.swift b/Dotfiles/ShellLog/main.swift new file mode 100644 index 0000000..57334a1 --- /dev/null +++ b/Dotfiles/ShellLog/main.swift @@ -0,0 +1,57 @@ +// +// main.swift +// ShellLog +// +// Created by Eryn Wells on 1/18/22. +// + +import ArgumentParser +import OSLog + +enum Level { + case Debug + case Info + case Warn + case Error +} + +extension Level: ExpressibleByArgument { + init?(argument: String) { + switch (argument) { + case "debug": + self = .Debug + case "info": + self = .Info + case "warn": + self = .Warn + case "error": + self = .Error + default: + return nil + } + } +} + +struct ShellLog: ParsableCommand { + + @Option(name: .shortAndLong, help: "The log level") + var level: Level? + + @Argument() var message: String + + func run() throws { + let log = Logger(subsystem: "me.erynwells.shell", category: "Shell") + switch level { + case .some(.Debug): + log.debug("\(message, privacy: .public)") + case .none, .some(.Info): + log.info("\(message, privacy: .public)") + case .some(.Warn): + log.warning("\(message, privacy: .public)") + case .some(.Error): + log.error("\(message, privacy: .public)") + } + } +} + +ShellLog.main() diff --git a/Fortune/Makefile b/Fortune/Makefile deleted file mode 100644 index 9a1c213..0000000 --- a/Fortune/Makefile +++ /dev/null @@ -1,16 +0,0 @@ - -STRFILE=strfile - -DATFILES=eryn.dat - -.PHONY: all clean - -%.dat: % - $(STRFILE) $^ $@ - -.PHONY: all -all: $(DATFILES) - -.PHONY: clean -clean: - rm -f $(DATFILES) diff --git a/Fortune/eryn b/Fortune/eryn deleted file mode 100644 index 87f0bc2..0000000 --- a/Fortune/eryn +++ /dev/null @@ -1,16 +0,0 @@ -Please practice this until you can easily do it. - -- Andrej Diamantstein -% -Easy, isn't it? - -- Andrej Diamantstein -% -TWENTY THREE NINETEEN!!!! -% -You only have to let the soft animal of your body -love what it loves. - -- Mary Oliver, Wild Geese -% -Be a lamp, or a lifeboat, or a ladder -help someone’s soul to heal -Walk out of your house like a shepherd. - -- Rumi, Ode 3090 diff --git a/LaunchAgents/eryn.dotfiles.generate-motd.plist b/LaunchAgents/eryn.dotfiles.generate-motd.plist deleted file mode 100644 index 1b2e6af..0000000 --- a/LaunchAgents/eryn.dotfiles.generate-motd.plist +++ /dev/null @@ -1,21 +0,0 @@ - - - - - Label - eryn.dotfiles.generate-motd - ProgramArguments - - zsh - -c - ~/bin/generate-motd - - EnvironmentVariables - - PATH - /usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/opt/homebrew/bin - - RunOnDemand - - - diff --git a/LaunchAgents/eryn.system-parameters.plist b/LaunchAgents/eryn.system-parameters.plist deleted file mode 100644 index 6326350..0000000 --- a/LaunchAgents/eryn.system-parameters.plist +++ /dev/null @@ -1,27 +0,0 @@ - - - - - Label - eryn.system-parameters - ProgramArguments - - /Users/eryn/bin/system-parameters - --output - /Users/eryn/.config/eryn/system_parameters.json - - WorkingDirectory - /Users/eryn - StandardOutPath - /Users/eryn/.config/eryn/system_parameters.output.log - StandardErrorPath - /Users/eryn/.config/eryn/system_parameters.error.log - EnvironmentVariables - - PATH - /opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin - - RunAtLoad - - - diff --git a/Python/eryntools/pyproject.toml b/Python/eryntools/pyproject.toml deleted file mode 100644 index 7c87698..0000000 --- a/Python/eryntools/pyproject.toml +++ /dev/null @@ -1,9 +0,0 @@ -[project] -name = "eryntools" -version = "0.0.1" -authors = [ - { name="Eryn Wells", email="eryn@erynwells.me" } -] -description = "A collection of utilities and tools by and for Eryn Wells." -readme = "README.md" -requires-python = ">=3.9" diff --git a/Python/eryntools/src/eryntools/__init__.py b/Python/eryntools/src/eryntools/__init__.py deleted file mode 100644 index 1fc1f98..0000000 --- a/Python/eryntools/src/eryntools/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -#!/usr/local/env python3 -# Eryn Wells diff --git a/Python/eryntools/src/eryntools/dotfiles/__init__.py b/Python/eryntools/src/eryntools/dotfiles/__init__.py deleted file mode 100644 index 272a8c1..0000000 --- a/Python/eryntools/src/eryntools/dotfiles/__init__.py +++ /dev/null @@ -1,32 +0,0 @@ -# Eryn Wells - -from os.path import expanduser, expandvars, isdir, join -from typing import Optional - - -def find_repository(path: Optional[str] = None) -> Optional[str]: - '''Find the dotfiles repo.''' - - _DEFAULT_CANDIDATE_PATHS = [ - '~/.dotfiles', - ] - - candidate_paths: list[str] = [] - if path: - candidate_paths.append(path) - candidate_paths.extend(_DEFAULT_CANDIDATE_PATHS) - - for path in candidate_paths: - path = expanduser(path) - path = expandvars(path) - - if not path_is_git_repository(path): - continue - - return path - - return None - - -def path_is_git_repository(path: str) -> bool: - return bool(path) and isdir(path) and isdir(join(path, '.git')) diff --git a/Python/eryntools/src/eryntools/dotfiles/system_parameters.py b/Python/eryntools/src/eryntools/dotfiles/system_parameters.py deleted file mode 100644 index 9fa543d..0000000 --- a/Python/eryntools/src/eryntools/dotfiles/system_parameters.py +++ /dev/null @@ -1,169 +0,0 @@ -# Eryn Wells - -import json -import os.path -import subprocess -import sys -from typing import Any, Optional, TextIO, Union - - -ParameterValue = Union[str, int, float] -ParametersObject = dict[str, Any] - - -_PARAMETERS_FILE = "~/.config/eryn/system_parameters.json" - - -class SystemParameters: - class _Keys: - DATA = 'data' - PARAMETERS = 'parameters' - VALUE = 'value' - - def __init__(self): - self._object: ParametersObject = {} - - @property - def parameters(self) -> dict: - if not self._object: - return {} - - return self._object[SystemParameters._Keys.PARAMETERS] - - def load_from_file(self, input_file: TextIO): - self._object = json.load(input_file) - - def write_to_file(self, file): - json.dump(self._object, file, indent=4, cls=_JSONEncoder) - - def __dir__(self): - return dir(self._object) - - def __getattr__(self, name: str) -> Optional[ParameterValue]: - if not self._object: - return None - - return self._object[SystemParameters._Keys.PARAMETERS][name][SystemParameters._Keys.VALUE] - - def __setattr__(self, name: str, value: 'Parameter'): - if not isinstance(value, Parameter): - super().__setattr__(name, value) - return - - parameter_value: ParametersObject = { - SystemParameters._Keys.VALUE: value.value, - } - - additional_data = value.additional_data - if additional_data: - parameter_value[SystemParameters._Keys.DATA] = additional_data - - self._object[name] = parameter_value - - -class Parameter: - @property - def value(self) -> str: - '''The value of this parameter.''' - raise NotImplementedError() - - @property - def additional_data(self) -> Optional[dict[str, ParametersObject]]: - '''Optional additional data to include in the parameter structure.''' - return None - - -class CommandParameter(Parameter): - class _Keys: - CODE = 'code' - COMMAND = 'command' - RESULT = 'result' - STDOUT = 'stdout' - STDERR = 'stderr' - - def __init__(self, command_arguments: list): - self.command = command_arguments - self.result: Optional[subprocess.CompletedProcess] = None - - @property - def value(self) -> str: - self() - return self.standard_output.strip() - - @property - def standard_output(self) -> str: - if not self.result or not self.result.stdout: - return '' - - return self.result.stdout.decode('utf-8') - - @property - def standard_error(self) -> str: - if not self.result or not self.result.stderr: - return '' - - return self.result.stderr.decode('utf-8') - - @property - def additional_data(self) -> Optional[dict]: - self() - assert self.result is not None - - obj = { - CommandParameter._Keys.COMMAND: self.result.args, - CommandParameter._Keys.RESULT: { - CommandParameter._Keys.CODE: self.result.returncode, - } - } - - stdout = self.standard_output - if stdout: - obj[CommandParameter._Keys.RESULT][CommandParameter._Keys.STDOUT] = stdout.strip() - - stderr = self.standard_error - if stderr: - obj[CommandParameter._Keys.RESULT][CommandParameter._Keys.STDERR] = stderr.strip() - - return obj - - def __call__(self) -> 'CommandParameter': - if not self.result: - self.result = subprocess.run( - self.command, - stdout=subprocess.PIPE, - stderr=subprocess.STDOUT - ) - - return self - - -class _JSONEncoder(json.JSONEncoder): - def default(self, o: Any) -> Any: - if isinstance(o, SystemParameters): - return super().default(o._object) - - return super().default(o) - - -def main(argv) -> Optional[int]: - import argparse - - parser = argparse.ArgumentParser(prog=argv[0]) - parser.add_argument( - 'parameters_file', - default=os.path.abspath(os.path.expanduser(_PARAMETERS_FILE)), - nargs='?', - ) - parser.add_argument('name') - arguments = parser.parse_args(argv[1:]) - - parameters = SystemParameters() - with open(arguments.parameters_file) as f: - parameters.load_from_file(f) - - print(getattr(parameters, arguments.name)) - - -if __name__ == '__main__': - import sys - sys.exit(main(sys.argv) or 0) diff --git a/Python/eryntools/src/eryntools/scripting.py b/Python/eryntools/src/eryntools/scripting.py deleted file mode 100644 index c65adf1..0000000 --- a/Python/eryntools/src/eryntools/scripting.py +++ /dev/null @@ -1,11 +0,0 @@ -# Eryn Wells - -import os.path -import sys -from typing import Optional - - -def absolute_script_path(argv0: Optional[str] = None) -> Optional[str]: - '''Get the absolute path to the currently executing script.''' - executable = argv0 or sys.argv[0] - return os.path.abspath(executable) if executable else None diff --git a/README.md b/README.md index 58c6084..34f6c88 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@ Dotfiles ======== -This is my collection of dotfiles, preserved here for all to see and enjoy. Feel -free to copy anything you see here. It would be nice if you added a comment -mentioning where you got it. +This is my collection of dotfiles, preserved here for all to see and enjoy. +Feel free to copy anything you see here. It would be nice if you added a +comment mentioning where you got it. My environment relies on `zsh`, `vim`, and `git`. @@ -12,33 +12,42 @@ My environment relies on `zsh`, `vim`, and `git`. Clone the repository to a directory on your machine. I like to use `~/.dotfiles`. -```sh -git clone https://github.com/erynofwales/dotfiles.git ~/.dotfiles -``` + git clone https://github.com/erynofwales/dotfiles.git ~/.dotfiles Run the setup script. -```sh -cd ~/.dotfiles -./setup.sh -``` + cd ~/.dotfiles + ./setup.sh This script will symlink all the config files in the directory to your home directory, clone a bunch of git repos, and do some other miscellaneous setup. Enjoy. -## Profiling +## Shell Environment -ZSH has a built in profiler. If you're concerned about init times, place the -following at the top of `.zshenv`. +As much as possible, I tried to keep these files as system agnostic as +possible. I work on lots of different systems so having the ability to bring +down my core environment and customize it is very useful. Most of the +environment files have three levels: -```zsh -zmodload zsh/zprof -``` +1. The main file (e.g. `.zshrc`). +2. A system specific file whose name is generated by the `uname -s` command. + So, these files have names like `.zshrc.darwin` and `.env.linux`. The system + name is exported as `$SYS` in the `.env` script. +3. A machine specific file whose name is derived by appending `.local` to the + main file's name (e.g. `.zshrc.local`). -Then, at the end of either `.zshrc` or `.zprofile`, call `zprof` to get the -results of the profiling session. +Files 2 and 3 are sourced at the end of the main file, so any settings you add +there will override those set in the main file. + +## Loud Noises! + +In a recent change I added some extra functions to print out status +messages as ZSH starts up. These are all defined in `shell-functions` +(symlinked to `~/.shell-functions` by the setup script). At any point in the +setup process, you can set the variable `$NOISY` to a number greater than 0 to +see extra status messages. ## License diff --git a/Xcode/IDETemplateMacros.plist b/Xcode/IDETemplateMacros.plist deleted file mode 100644 index af05257..0000000 --- a/Xcode/IDETemplateMacros.plist +++ /dev/null @@ -1,7 +0,0 @@ - - - - FILEHEADER - Eryn Wells <eryn@erynwells.me> - - diff --git a/bin/colortest b/bin/colortest deleted file mode 100755 index 66003c8..0000000 --- a/bin/colortest +++ /dev/null @@ -1,49 +0,0 @@ -#!/usr/bin/env zsh - -function print_color -{ - #local formatted=`printf "%4d " $1` - local formatted=" " - print -Pn "%K{$1}${formatted}%k" -} - -print -n ' ' -for (( i = 0; i < 8; i += 1 )); do - printf "%4d " $i -done -print -print -n 'Normal: ' -for (( i = 0; i < 8; i += 1 )); do - print_color $i -done -print - -print -n ' ' -for (( i = 8; i < 16; i += 1 )); do - printf "%4d " $i -done -print -print -n 'Bright: ' -for (( i = 8; i < 16; i += 1 )); do - print_color $i -done -print - -SUPPORTED_COLORS=`echotc Co` -COLORS_PER_LINE=16 - -print -print "Color Table ($SUPPORTED_COLORS supported colors)" - -for (( base = 0; base < $SUPPORTED_COLORS ; base += $COLORS_PER_LINE )); do - for (( i = base; i < base + $COLORS_PER_LINE && i < $SUPPORTED_COLORS; i += 1 )); do - printf "%4d " $i - done - - print - - for (( i = base; i < base + $COLORS_PER_LINE && i < $SUPPORTED_COLORS; i += 1 )); do - print_color $i - done - print -done diff --git a/bin/favicon_for b/bin/favicon_for deleted file mode 100755 index 14bb68b..0000000 --- a/bin/favicon_for +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/env zsh - -curl -IL $1/favicon.ico diff --git a/bin/fetch_moon_data.py b/bin/fetch_moon_data.py deleted file mode 100755 index 6bf5f44..0000000 --- a/bin/fetch_moon_data.py +++ /dev/null @@ -1,208 +0,0 @@ -#!/usr/bin/env python3 -# Eryn Wells - -''' -Fetch moon data from api.met.no. -''' - -import argparse -import datetime -import json -import os.path -import requests -import sys -import pytz - -API_URL = 'https://api.met.no/weatherapi/sunrise/2.0/.json' - -# From https://en.wikipedia.org/wiki/San_Francisco -SAN_FRANCISCO_LAT_LON = (37.7775, -122.416389) -SAN_FRANCISCO_TIMEZONE = 'America/Los_Angeles' - -def parse_args(argv, *a, **kw): - parser = argparse.ArgumentParser(*a, **kw) - parser.add_argument('--date', - help=''' - Starting date for number of days to fetch in YYYY-MM-DD format. - Defaults to today's date. - ''') - parser.add_argument('--days', type=int, default=1, - help=''' - Number of days of data to fetch. The max is 15 per API rules. See - https://api.met.no/weatherapi/sunrise/2.0/documentation#Output_format - for details. - ''') - parser.add_argument('-l', '--location', - default='{0[0]},{0[1]}'.format(SAN_FRANCISCO_LAT_LON), - help=''' - Geolocation in latitude and longitude coordinates separated by a - comma. If this argument is omitted, the geolocation of San - Francisco, CA, USA will be used instead. - ''') - parser.add_argument('-n', '--dry-run', action='store_true', - help="Do everything but write downloaded data to the file.") - parser.add_argument('-t', '--timezone', default=SAN_FRANCISCO_TIMEZONE, - help=''' - Timezone to query for. If this argument is omitted, - 'America/Los_Angeles' will be used. - ''') - parser.add_argument('file') - args = parser.parse_args(argv) - return args - -def offset_to_timedelta(offset): - hours, minutes = offset.split(':') - return datetime.timedelta(hours=hours, minutes=minutes) - -def lat_long_from_location(location): - try: - lat_lon = tuple(round(float(x), 1) for x in location.split(',')) - except ValueError: - print("Unable to parse '{location}' into a lat/lon pair.") - return None, None - - if len(lat_lon) != 2: - print("Unable to parse '{location}' into a lat/lon pair.") - return None, None - - return lat_lon[0], lat_lon[1] - -def download_moon_data(latitude, longitude, date, utc_offset, number_of_days, dry_run): - print(f"Downloading {number_of_days} {'days' if number_of_days != 1 else 'day'} of moon data starting {date} {utc_offset}.", file=sys.stderr) - - moon_data = { - 'location': {} - } - - for _ in range(number_of_days): - if not dry_run: - print(f"Fetching data for {date}.", file=sys.stderr) - response = requests.get(API_URL, params={ - 'lat': latitude, - 'lon': longitude, - 'date': date.strftime('%Y-%m-%d'), - 'offset': utc_offset, - 'days': 1, - }) - - try: - response_json = response.json() - except json.JSONDecodeError as e: - print(f'Error decoding JSON response: {e}', file=sys.stderr) - print(response.text, file=sys.stderr) - raise - - moon_data.setdefault('meta', response_json['meta']) - moon_data['location'].setdefault('height', response_json['location']['height']) - moon_data['location'].setdefault('latitude', response_json['location']['latitude']) - moon_data['location'].setdefault('longitude', response_json['location']['longitude']) - moon_data['location'].setdefault('time', []) - moon_data['location']['time'].append(response_json['location']['time'][0]) - else: - print(f"Dry run. Fetching data for {date} will be skipped.", file=sys.stderr) - - date = date + datetime.timedelta(days=1) - - return moon_data - -def main(argv): - args = parse_args(argv[1:], prog=argv[0]) - - timezone = pytz.timezone(args.timezone) - - date = None - try: - date = datetime.datetime.strptime(args.date, '%Y-%m-%d') - except ValueError: - date = datetime.datetime.now(tz=timezone).date() - print("Date must be in YYYY-MM-DD format.", file=sys.stderr) - except TypeError: - date = datetime.datetime.now(tz=timezone).date() - print("No date was given.", file=sys.stderr) - - print(f"Using date: {date}.", file=sys.stderr) - - # Check args.file for some moon data that has already been downloaded. - moon_data = None - filename = args.file - if os.path.isfile(filename): - try: - with open(filename, 'r') as f: - moon_data = json.load(f) - except json.JSONDecodeError: - print(f"{filename} contains invalid JSON data.", file=sys.stderr) - moon_data = None - - if args.location: - lat, lon = lat_long_from_location(args.location) - else: - print("No location given.", file=sys.stderr) - lat, lon = None, None - - utc_offset = datetime.datetime.now(tz=pytz.timezone(args.timezone)).strftime('%z') - utc_offset = utc_offset[:3] + ':' + utc_offset[3:] - - if moon_data: - should_fetch_new_data = False - - moon_data_location = moon_data['location'] - try: - moon_data_lat, moon_data_lon = ( - float(moon_data_location['latitude']), - float(moon_data_location['longitude']) - ) - except KeyError: - print(f'{filename} is missing lat,lon information.') - should_fetch_new_data = True - - if not should_fetch_new_data and (moon_data_lat != lat or moon_data_lon != lon): - print(f"Data for {lat},{lon} requested, but {filename} has data for {moon_data_lat},{moon_data_lon}.", file=sys.stderr) - should_fetch_new_data = True - - if not should_fetch_new_data: - for record in moon_data_location['time']: - try: - record_date = datetime.datetime.strptime(record['date'], '%Y-%m-%d').date() - except (ValueError, TypeError): - continue - - if record_date == date and record.get('moonphase'): - print(f"{filename} has existing moon phase data for {date}.", file=sys.stderr) - #break - else: - should_fetch_new_data = True - - if should_fetch_new_data: - print(f"{filename} doesn't contain moon data for the given date.", - file=sys.stderr) - - if not lat or not lon: - print(f"No location given. Using {moon_data_lat},{moon_data_lon} from {filename}.", file=sys.stderr) - lat = moon_data_lat - lon = moon_data_lon - - try: - moon_data = download_moon_data(lat, lon, date, utc_offset, args.days, args.dry_run) - if not args.dry_run: - with open(filename, 'w') as f: - json.dump(moon_data, f, indent=2) - else: - print(f"Dry run. Dumping moon data to {filename} will be skipped.") - except json.JSONDecodeError: - return -1 - - if not moon_data: - print(f"{filename} doesn't contain any moon data.", file=sys.stderr) - try: - moon_data = download_moon_data(lat, lon, date, utc_offset, args.days, args.dry_run) - with open(filename, 'w') as f: - json.dump(moon_data, f, indent=2) - except json.JSONDecodeError: - return -1 - - return 0 - -if __name__ == '__main__': - import sys - result = main(sys.argv) - sys.exit(0 if not result else result) diff --git a/bin/generate-motd b/bin/generate-motd deleted file mode 100755 index 6aa5129..0000000 --- a/bin/generate-motd +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/zsh -# Eryn Wells - -MOTD_FILE=/etc/motd - -binary_exists() { - hash $1 1>/dev/null 2>&1 - return $? -} - -if [[ ! -w "$MOTD_FILE" ]]; then - echo "$MOTD_FILE is not wrtiable by $USER" >&2 - exit 1 -fi - -# If lolcat is installed, dump a colorful message to the MOTD file. :) -local cat_program=cat -local cat_args='' -if binary_exists lolcat; then - echo "Enabling rainbows" - cat_program=lolcat - cat_args=-f -fi - -local hello_message="\nThis machine is called `hostname`.\n" - -local hardware_model=`sysctl -n hw.model` - -if [[ -n "$hardware_model" ]]; then - hello_message+="It’s a $hardware_model " -fi - -local os_version=`sysctl -n kern.osproductversion` -local product_name=`sw_vers --productName` -local os_build=`sw_vers --buildVersion` - -if [[ -n "$os_version" && -n "$os_build" ]]; then - hello_message+="running $product_name $os_version ($os_build)." -elif [[ -n "$os_version" ]]; then - hello_message+="running $product_name $os_version." -fi - -hello_message+="\n" - -echo "Writing MOTD" -print -P $hello_message | $cat_program $cat_args > $MOTD_FILE diff --git a/bin/iterm_set_font.py b/bin/iterm_set_font.py deleted file mode 100755 index a6bd032..0000000 --- a/bin/iterm_set_font.py +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env python3 -# Eryn Wells - -import argparse -import iterm2 - -def parse_args(argv, *a, **kw): - parser = argparse.ArgumentParser(*a, **kw) - parser.add_argument('font') - args = parser.parse_args(argv) - return args - -def main(argv): - args = parse_args(argv[1:], prog=argv[0]) - - new_font = args.font - print(f'Will attempt to set font to "{new_font}"') - - async def set_font(connection): - profile = await iterm2.Profile.async_get_default(connection) - if not profile: - return - - print(f'Current normal font of "{profile.name}" profile is "{profile.normal_font}"') - print(f'Setting normal font of "{profile.name}" profile to "{new_font}"') - - await profile.async_set_normal_font(new_font) - - iterm2.run_until_complete(set_font) - -if __name__ == '__main__': - import sys - result = main(sys.argv) - sys.exit(0 if not result else result) diff --git a/bin/lorem b/bin/lorem deleted file mode 100755 index 57c3d81..0000000 --- a/bin/lorem +++ /dev/null @@ -1,234 +0,0 @@ -#!/usr/bin/env python3 - -import argparse -import itertools -import random -import textwrap - -WORD_COMMANDS = ('w', 'word', 'words') -SENTENCE_COMMANDS = ('s', 'sent', 'sentence', 'sentences') -PARAGRAPH_COMMANDS = ('p', 'para', 'paragraph', 'paragraphs') - -# A range (min and max) of number of words per sentence -SENTENCE_WORDS_RANGE = (8, 21) - -# A range (min and max) of number of sentences per paragraph -PARAGRAPH_SENTENCE_RANGE = (4, 9) - -WORDS = [ - "lorem", "ipsum", "dolor", "sit", "amet,", "consectetur", "adipiscing", "elit", "ut", "aliquam,", "purus", - "sit", "amet", "luctus", "venenatis,", "lectus", "magna", "fringilla", "urna,", "porttitor", "rhoncus", - "dolor", "purus", "non", "enim", "praesent", "elementum", "facilisis", "leo,", "vel", "fringilla", "est", - "ullamcorper", "eget", "nulla", "facilisi", "etiam", "dignissim", "diam", "quis", "enim", "lobortis", - "scelerisque", "fermentum", "dui", "faucibus", "in", "ornare", "quam", "viverra", "orci", "sagittis", "eu", - "volutpat", "odio", "facilisis", "mauris", "sit", "amet", "massa", "vitae", "tortor", "condimentum", "lacinia", - "quis", "vel", "eros", "donec", "ac", "odio", "tempor", "orci", "dapibus", "ultrices", "in", "iaculis", "nunc", - "sed", "augue", "lacus,", "viverra", "vitae", "congue", "eu,", "consequat", "ac", "felis", "donec", "et", - "odio", "pellentesque", "diam", "volutpat", "commodo", "sed", "egestas", "egestas", "fringilla", "phasellus", - "faucibus", "scelerisque", "eleifend", "donec", "pretium", "vulputate", "sapien", "nec", "sagittis", "aliquam", - "malesuada", "bibendum", "arcu", "vitae", "elementum", "curabitur", "vitae", "nunc", "sed", "velit", - "dignissim", "sodales", "ut", "eu", "sem", "integer", "vitae", "justo", "eget", "magna", "fermentum", - "iaculis", "eu", "non", "diam", "phasellus", "vestibulum", "lorem", "sed", "risus", "ultricies", "tristique", - "nulla", "aliquet", "enim", "tortor,", "at", "auctor", "urna", "nunc", "id", "cursus", "metus", "aliquam", - "eleifend", "mi", "in", "nulla", "posuere", "sollicitudin", "aliquam", "ultrices", "sagittis", "orci,", "a", - "scelerisque", "purus", "semper", "eget", "duis", "at", "tellus", "at", "urna", "condimentum", "mattis", - "pellentesque", "id", "nibh", "tortor,", "id", "aliquet", "lectus", "proin", "nibh", "nisl,", "condimentum", - "id", "venenatis", "a,", "condimentum", "vitae", "sapien", "pellentesque", "habitant", "morbi", "tristique", - "senectus", "et", "netus", "et", "malesuada", "fames", "ac", "turpis", "egestas", "sed", "tempus,", "urna", - "et", "pharetra", "pharetra,", "massa", "massa", "ultricies", "mi,", "quis", "hendrerit", "dolor", "magna", - "eget", "est", "lorem", "ipsum", "dolor", "sit", "amet,", "consectetur", "adipiscing", "elit", "pellentesque", - "habitant", "morbi", "tristique", "senectus", "et", "netus", "et", "malesuada", "fames", "ac", "turpis", - "egestas", "integer", "eget", "aliquet", "nibh", "praesent", "tristique", "magna", "sit", "amet", "purus", - "gravida", "quis", "blandit", "turpis", "cursus", "in", "hac", "habitasse", "platea", "dictumst", "quisque", - "sagittis,", "purus", "sit", "amet", "volutpat", "consequat,", "mauris", "nunc", "congue", "nisi,", "vitae", - "suscipit", "tellus", "mauris", "a", "diam", "maecenas", "sed", "enim", "ut", "sem", "viverra", "aliquet", - "eget", "sit", "amet", "tellus", "cras", "adipiscing", "enim", "eu", "turpis", "egestas", "pretium", "aenean", - "pharetra,", "magna", "ac", "placerat", "vestibulum,", "lectus", "mauris", "ultrices", "eros,", "in", "cursus", - "turpis", "massa", "tincidunt", "dui", "ut", "ornare", "lectus", "sit", "amet", "est", "placerat", "in", - "egestas", "erat", "imperdiet", "sed", "euismod", "nisi", "porta", "lorem", "mollis", "aliquam", "ut", - "porttitor", "leo", "a", "diam", "sollicitudin", "tempor", "id", "eu", "nisl", "nunc", "mi", "ipsum,", - "faucibus", "vitae", "aliquet", "nec,", "ullamcorper", "sit", "amet", "risus", "nullam", "eget", "felis", - "eget", "nunc", "lobortis", "mattis", "aliquam", "faucibus", "purus", "in", "massa", "tempor", "nec", - "feugiat", "nisl", "pretium", "fusce", "id", "velit", "ut", "tortor", "pretium", "viverra", "suspendisse", - "potenti", "nullam", "ac", "tortor", "vitae", "purus", "faucibus", "ornare", "suspendisse", "sed", "nisi", - "lacus,", "sed", "viverra", "tellus", "in", "hac", "habitasse", "platea", "dictumst", "vestibulum", "rhoncus", - "est", "pellentesque", "elit", "ullamcorper", "dignissim", "cras", "tincidunt", "lobortis", "feugiat", - "vivamus", "at", "augue", "eget", "arcu", "dictum", "varius", "duis", "at", "consectetur", "lorem", "donec", - "massa", "sapien,", "faucibus", "et", "molestie", "ac,", "feugiat", "sed", "lectus", "vestibulum", "mattis", - "ullamcorper", "velit", "sed", "ullamcorper", "morbi", "tincidunt", "ornare", "massa,", "eget", "egestas", - "purus", "viverra", "accumsan", "in", "nisl", "nisi,", "scelerisque", "eu", "ultrices", "vitae,", "auctor", - "eu", "augue", "ut", "lectus", "arcu,", "bibendum", "at", "varius", "vel,", "pharetra", "vel", "turpis", - "nunc", "eget", "lorem", "dolor,", "sed", "viverra", "ipsum", "nunc", "aliquet", "bibendum", "enim,", - "facilisis", "gravida", "neque", "convallis", "a", "cras", "semper", "auctor", "neque,", "vitae", "tempus", - "quam", "pellentesque", "nec", "nam", "aliquam", "sem", "et", "tortor", "consequat", "id", "porta", "nibh", - "venenatis", "cras", "sed", "felis", "eget", "velit", "aliquet", "sagittis", "id", "consectetur", "purus", - "ut", "faucibus", "pulvinar", "elementum", "integer", "enim", "neque,", "volutpat", "ac", "tincidunt", - "vitae,", "semper", "quis", "lectus", "nulla", "at", "volutpat", "diam", "ut", "venenatis", "tellus", "in", - "metus", "vulputate", "eu", "scelerisque", "felis", "imperdiet", "proin", "fermentum", "leo", "vel", "orci", - "porta", "non", "pulvinar", "neque", "laoreet", "suspendisse", "interdum", "consectetur", "libero,", "id", - "faucibus", "nisl", "tincidunt", "eget", "nullam", "non", "nisi", "est,", "sit", "amet", "facilisis", "magna", - "etiam", "tempor,", "orci", "eu", "lobortis", "elementum,", "nibh", "tellus", "molestie", "nunc,", "non", "blandit", - "massa", "enim", "nec", "dui", "nunc", "mattis", "enim", "ut", "tellus", "elementum", "sagittis", "vitae", "et", - "leo", "duis", "ut", "diam", "quam", "nulla", "porttitor", "massa", "id", "neque", "aliquam", "vestibulum", "morbi", - "blandit", "cursus", "risus,", "at", "ultrices", "mi", "tempus", "imperdiet", "nulla", "malesuada", "pellentesque", - "elit", "eget", "gravida", "cum", "sociis", "natoque", "penatibus", "et", "magnis", "dis", "parturient", "montes,", - "nascetur", "ridiculus", "mus", "mauris", "vitae", "ultricies", "leo", "integer", "malesuada", "nunc", "vel", - "risus", "commodo", "viverra", "maecenas", "accumsan,", "lacus", "vel", "facilisis", "volutpat,", "est", "velit", - "egestas", "dui,", "id", "ornare", "arcu", "odio", "ut", "sem", "nulla", "pharetra", "diam", "sit", "amet", "nisl", - "suscipit", "adipiscing", "bibendum", "est", "ultricies", "integer", "quis", "auctor", "elit", "sed", "vulputate", - "mi", "sit", "amet", "mauris", "commodo", "quis", "imperdiet", "massa", "tincidunt", "nunc", "pulvinar", "sapien", - "et", "ligula", "ullamcorper", "malesuada", "proin", "libero", "nunc,", "consequat", "interdum", "varius", "sit", - "amet,", "mattis", "vulputate", "enim", "nulla", "aliquet", "porttitor", "lacus,", "luctus", "accumsan", "tortor", - "posuere", "ac", "ut", "consequat", "semper", "viverra", "nam", "libero", "justo,", "laoreet", "sit", "amet", - "cursus", "sit", "amet,", "dictum", "sit", "amet", "justo", "donec", "enim", "diam,", "vulputate", "ut", "pharetra", - "sit", "amet,", "aliquam", "id", "diam", "maecenas", "ultricies", "mi", "eget", "mauris", "pharetra", "et", - "ultrices", "neque", "ornare", "aenean", "euismod", "elementum", "nisi,", "quis", "eleifend", "quam", "adipiscing", - "vitae", "proin", "sagittis,", "nisl", "rhoncus", "mattis", "rhoncus,", "urna", "neque", "viverra", "justo,", "nec", - "ultrices", "dui", "sapien", "eget", "mi", "proin", "sed", "libero", "enim,", "sed", "faucibus", "turpis", "in", - "eu", "mi", "bibendum", "neque", "egestas", "congue", "quisque", "egestas", "diam", "in", "arcu", "cursus", - "euismod", "quis", "viverra", "nibh", "cras", "pulvinar", "mattis", "nunc,", "sed", "blandit", "libero", "volutpat", - "sed", "cras", "ornare", "arcu", "dui", "vivamus", "arcu", "felis,", "bibendum", "ut", "tristique", "et,", - "egestas", "quis", "ipsum", "suspendisse", "ultrices", "gravida", "dictum", "fusce", "ut", "placerat", "orci", - "nulla", "pellentesque", "dignissim", "enim,", "sit", "amet", "venenatis", "urna", "cursus", "eget", "nunc", - "scelerisque", "viverra", "mauris,", "in", "aliquam", "sem", "fringilla", "ut", "morbi", "tincidunt", "augue", - "interdum", "velit", "euismod", "in", "pellentesque", "massa", "placerat", "duis", "ultricies", "lacus", "sed", - "turpis", "tincidunt", "id", "aliquet", "risus", "feugiat", "in", "ante", "metus,", "dictum", "at", "tempor", - "commodo,", "ullamcorper", "a", "lacus", "vestibulum", "sed", "arcu", "non", "odio", "euismod", "lacinia", "at", - "quis", "risus", "sed", "vulputate", "odio", "ut", "enim", "blandit", "volutpat", "maecenas", "volutpat", "blandit", - "aliquam", "etiam", "erat", "velit,", "scelerisque", "in", "dictum", "non,", "consectetur", "a", "erat", "nam", - "at", "lectus", "urna", "duis", "convallis", "convallis", "tellus,", "id", "interdum", "velit", "laoreet", "id", - "donec", "ultrices", "tincidunt", "arcu,", "non", "sodales", "neque", "sodales", "ut", "etiam", "sit", "amet", - "nisl", "purus,", "in", "mollis", "nunc", "sed", "id", "semper", "risus", "in", "hendrerit", "gravida", "rutrum", - "quisque", "non", "tellus", "orci,", "ac", "auctor", "augue", "mauris", "augue", "neque,", "gravida", "in", - "fermentum", "et,", "sollicitudin", "ac", "orci", "phasellus", "egestas", "tellus", "rutrum", "tellus", - "pellentesque", "eu", "tincidunt", "tortor", "aliquam", "nulla", "facilisi", "cras", "fermentum,", "odio", "eu", - "feugiat", "pretium,", "nibh", "ipsum", "consequat", "nisl,", "vel", "pretium", "lectus", "quam", "id", "leo", "in", - "vitae", "turpis", "massa", "sed", "elementum", "tempus", "egestas", "sed", "sed", "risus", "pretium", "quam", - "vulputate", "dignissim", "suspendisse", "in", "est", "ante", "in", "nibh", "mauris,", "cursus", "mattis", - "molestie", "a,", "iaculis", "at", "erat", "pellentesque", "adipiscing", "commodo", "elit,", "at", "imperdiet", - "dui", "accumsan", "sit", "amet", "nulla", "facilisi", "morbi", "tempus", "iaculis", "urna,", "id", "volutpat", - "lacus", "laoreet", "non", "curabitur", "gravida", "arcu", "ac", "tortor", "dignissim", "convallis", "aenean", "et", - "tortor", "at", "risus", "viverra", "adipiscing", "at", "in", "tellus", "integer", "feugiat", "scelerisque", - "varius", "morbi", "enim", "nunc,", "faucibus", "a", "pellentesque", "sit", "amet,", "porttitor", "eget", "dolor", - "morbi", "non", "arcu", "risus,", "quis", "varius", "quam", "quisque", "id", "diam", "vel", "quam", "elementum", - "pulvinar", "etiam", "non", "quam", "lacus", "suspendisse", "faucibus", "interdum", "posuere", "lorem", "ipsum", - "dolor", "sit", "amet,", "consectetur", "adipiscing", "elit", "duis", "tristique", "sollicitudin", "nibh", "sit", - "amet", "commodo", "nulla", "facilisi", "nullam", "vehicula", "ipsum", "a", "arcu", "cursus", "vitae", "congue", - "mauris", "rhoncus", "aenean", "vel", "elit", "scelerisque", "mauris", "pellentesque", "pulvinar", "pellentesque", - "habitant", "morbi", "tristique", "senectus", "et", "netus", "et", "malesuada", "fames", "ac", "turpis", "egestas", - "maecenas", "pharetra", "convallis", "posuere", "morbi", "leo", "urna,", "molestie", "at", "elementum", "eu,", - "facilisis", "sed", "odio", "morbi", "quis", "commodo", "odio", "aenean", "sed", "adipiscing", "diam", "donec", - "adipiscing", "tristique", "risus", "nec", "feugiat", "in", "fermentum", "posuere", "urna", "nec", "tincidunt", - "praesent", "semper", "feugiat", "nibh", "sed", "pulvinar", "proin", "gravida", "hendrerit", "lectus", "a", - "molestie" -] - - -def number_argument(string_value): - int_x = int(string_value) - - if int_x < 1: - raise ValueError(f"N must be greater than 1") - - return int_x - - -def parse_arguments(arguments: list[str], *a, **kw) -> tuple[argparse.ArgumentParser, argparse.Namespace]: - parser = argparse.ArgumentParser(*a, **kw) - - parser.add_argument( - '--canonical', - help=''' - When set, text will be generated using the traditional Lorem Ipsum pattern. - When unset, text will be randomized. - ''', - action='store_true' - ) - - parser.add_argument('-w', '--wrap', type=number_argument, default=None) - - parser.add_argument( - 'unit', - choices=WORD_COMMANDS + SENTENCE_COMMANDS + PARAGRAPH_COMMANDS, - nargs='?', - default='paragraphs', - help='Language unit to generate.' - ) - - parser.add_argument( - 'number', - nargs='?', - default=1, - type=number_argument, - metavar='N', - help='Number of [unit]s to generate.' - ) - - parsed_arguments = parser.parse_args(arguments) - return parser, parsed_arguments - - -def generate_words(n: int, canonical: bool, offset: int = 0) -> list[str]: - if canonical: - return list(itertools.islice(WORDS[offset:], n)) - else: - return [random.choice(WORDS) for _ in range(n)] - - -def generate_sentences(n: int, canonical: bool) -> list[str]: - sentences = [] - offset = 0 - for _ in range(n): - words_per_sentence = random.choice(range(*SENTENCE_WORDS_RANGE)) - - generated_sentence = ' '.join(generate_words(words_per_sentence, canonical, offset)).capitalize() - if generated_sentence.endswith(','): - generated_sentence = generated_sentence[:-1] + '.' - else: - generated_sentence += '.' - - sentences.append(generated_sentence) - - offset += words_per_sentence - - return sentences - - -def generate_paragraphs(n: int, canonical: bool) -> list[str]: - paragraphs = [] - for _ in range(n): - sentences_per_paragraph = random.choice(range(*PARAGRAPH_SENTENCE_RANGE)) - paragraphs.append(' '.join(generate_sentences(sentences_per_paragraph, canonical))) - - return paragraphs - - -def main(argv): - _, arguments = parse_arguments(argv[1:], prog=argv[0]) - - generator_arguments = (arguments.number, arguments.canonical) - - unit = arguments.unit - if unit in WORD_COMMANDS: - lorem_ipsum = [' '.join(generate_words(*generator_arguments))] - elif unit in SENTENCE_COMMANDS: - lorem_ipsum = [' '.join(generate_sentences(*generator_arguments))] - elif unit in PARAGRAPH_COMMANDS: - lorem_ipsum = generate_paragraphs(*generator_arguments) - else: - lorem_ipsum = generate_paragraphs(*generator_arguments) - - wrap_width = arguments.wrap - if wrap_width: - lorem_ipsum = '\n\n'.join(textwrap.fill(paragraph, width=wrap_width) for paragraph in lorem_ipsum) - else: - lorem_ipsum = '\n\n'.join(lorem_ipsum) - - print(lorem_ipsum) - - return 0 - -if __name__ == '__main__': - import sys - result = main(sys.argv) - sys.exit(0 if not result else result) diff --git a/bin/num b/bin/num index c5704c2..7f1fbb4 100755 --- a/bin/num +++ b/bin/num @@ -1,65 +1,59 @@ #!/usr/bin/env python3 -# Eryn Wells -import argparse -import json import os.path import sys -FORMATS = { - 'bin': 2, - 'oct': 8, - 'dec': 10, - 'hex': 16, -} +BIN_FMT = 2 +OCT_FMT = 8 +DEC_FMT = 10 +HEX_FMT = 16 -def convert_number_to_all_bases(n): - try: - n = n.lower() - if n.startswith('0x'): - base = 16 - elif n.startswith('0o'): - base = 8 - elif n.startswith('0b'): - base = 2 - else: - base = 10 - num = int(n, base=base) - except ValueError: - print(f'Error: cannot parse string as int: {n}', file=sys.stderr) + +def main(): + if len(sys.argv) < 2: + print('Usage: {} [num...]'.format(sys.argv[0])) + return -1 + + root = os.path.splitext(os.path.basename(sys.argv[0]))[0] + + if root == 'bin': + fmts = {BIN_FMT} + elif root == 'oct': + fmts = {OCT_FMT} + elif root == 'dec': + fmts = {DEC_FMT} + elif root == 'hex': + fmts = {HEX_FMT} else: - return { - 'bin': str(bin(num)[2:]), - 'oct': str(oct(num)[2:]), - 'dec': str(num), - 'hex': str(hex(num)[2:]).upper(), - } + # All formats + fmts = {BIN_FMT, OCT_FMT, DEC_FMT, HEX_FMT} -def parse_args(argv, *a, **kw): - parser = argparse.ArgumentParser(*a, **kw) - parser.add_argument('--ascii', '-a', action='store_true') - parser.add_argument('numbers', nargs='+') - args = parser.parse_args(argv) - return args - -def main(argv): - args = parse_args(argv[1:], prog=argv[0]) - - output = {} - - for n in args.numbers: - if args.ascii: - for c in n: - output.setdefault(c, convert_number_to_all_bases(str(ord(c)))) + for n in sys.argv[1:]: + print('---') + try: + base = 10 + n = n.lower() + if n.startswith('0x'): + base = 16 + if n.startswith('0o'): + base = 8 + if n.startswith('0b'): + base = 2 + num = int(n, base=base) + except ValueError: + print('Error: cannot parse string as int: {}'.format(n)) else: - output.setdefault(n, convert_number_to_all_bases(n)) - - json.dump(output, sys.stdout, indent=2) - print('\n') + if BIN_FMT in fmts: + print('bin: {}'.format(bin(num)[2:])) + if OCT_FMT in fmts: + print('oct: {}'.format(oct(num)[2:])) + if DEC_FMT in fmts: + print('int: {}'.format(num)) + if HEX_FMT in fmts: + print('hex: {}'.format(hex(num)[2:])) return 0 + if __name__ == '__main__': - import sys - result = main(sys.argv) - sys.exit(0 if not result else result) + sys.exit(main()) diff --git a/bin/system-parameters b/bin/system-parameters deleted file mode 100755 index be4214d..0000000 --- a/bin/system-parameters +++ /dev/null @@ -1,41 +0,0 @@ -#!/usr/bin/env python3 - -import argparse -from eryntools.dotfiles.system_parameters import CommandParameter, SystemParameters - - -class HomebrewPrefix(CommandParameter): - def __init__(self): - super().__init__(['brew', '--prefix']) - - -class XcodeSelectPrintPath(CommandParameter): - def __init__(self): - super().__init__(['xcode-select', '-p']) - - -def main(argv): - parser = argparse.ArgumentParser(prog=argv[0]) - parser.add_argument('-f', '--file', type=argparse.FileType('r')) - parser.add_argument('-o', '--output', type=argparse.FileType('w'), default=sys.stdout) - arguments = parser.parse_args(argv[1:]) - - output_parameters = SystemParameters() - - if arguments.file: - output_parameters.load_from_file(arguments.file) - - parameters = { - 'homebrew_prefix': HomebrewPrefix(), - 'xcode_path': XcodeSelectPrintPath(), - } - - for name, parameter in parameters.items(): - setattr(output_parameters, name, parameter) - - output_parameters.write_to_file(arguments.output) - - -if __name__ == "__main__": - import sys - sys.exit(main(sys.argv) or 0) diff --git a/clangd b/clangd deleted file mode 100644 index c7aabe7..0000000 --- a/clangd +++ /dev/null @@ -1,2 +0,0 @@ -CompileFlags: - Add: [-std=c++11] diff --git a/codetemplates/django/basic/.env b/codetemplates/django/basic/.env new file mode 100644 index 0000000..d712735 --- /dev/null +++ b/codetemplates/django/basic/.env @@ -0,0 +1,3 @@ +DATABASE_URL=sqlite://localhost/local.db +SECRET_KEY={{ secret_key }} +DEBUG=True diff --git a/codetemplates/django/basic/.gitignore b/codetemplates/django/basic/.gitignore new file mode 100644 index 0000000..cbe218d --- /dev/null +++ b/codetemplates/django/basic/.gitignore @@ -0,0 +1,7 @@ +*.log +*.pot +*.pyc +local_settings.py + +env/ +local.db diff --git a/codetemplates/django/basic/Makefile b/codetemplates/django/basic/Makefile new file mode 100644 index 0000000..ccb845b --- /dev/null +++ b/codetemplates/django/basic/Makefile @@ -0,0 +1,18 @@ +MANAGEPY=honcho run -- env/bin/python manage.py + +update: + virtualenv env + env/bin/pip install -r requirements.txt + $(MANAGEPY) syncdb + +migrate: + $(MANAGEPY) migrate + +run: update + $(MANAGEPY) runserver 0.0.0.0:8000 + +shell: update + $(MANAGEPY) shell + +deploy: + git push heroku master diff --git a/codetemplates/django/basic/Procfile b/codetemplates/django/basic/Procfile new file mode 100644 index 0000000..62c5af6 --- /dev/null +++ b/codetemplates/django/basic/Procfile @@ -0,0 +1 @@ +web: python manage.py run_gunicorn -w4 -b 0.0.0.0:$PORT diff --git a/codetemplates/django/basic/manage.py b/codetemplates/django/basic/manage.py new file mode 100644 index 0000000..87ab2e2 --- /dev/null +++ b/codetemplates/django/basic/manage.py @@ -0,0 +1,8 @@ +#!/usr/bin/env python +import os +import sys + +if __name__ == "__main__": + os.environ.setdefault("DJANGO_SETTINGS_MODULE", "settings") + from django.core.management import execute_from_command_line + execute_from_command_line(sys.argv) diff --git a/Python/eryntools/README.md b/codetemplates/django/basic/project_name/__init__.py similarity index 100% rename from Python/eryntools/README.md rename to codetemplates/django/basic/project_name/__init__.py diff --git a/codetemplates/django/basic/project_name/models.py b/codetemplates/django/basic/project_name/models.py new file mode 100644 index 0000000..71a8362 --- /dev/null +++ b/codetemplates/django/basic/project_name/models.py @@ -0,0 +1,3 @@ +from django.db import models + +# Create your models here. diff --git a/codetemplates/django/basic/project_name/tests.py b/codetemplates/django/basic/project_name/tests.py new file mode 100644 index 0000000..501deb7 --- /dev/null +++ b/codetemplates/django/basic/project_name/tests.py @@ -0,0 +1,16 @@ +""" +This file demonstrates writing tests using the unittest module. These will pass +when you run "manage.py test". + +Replace this with more appropriate tests for your application. +""" + +from django.test import TestCase + + +class SimpleTest(TestCase): + def test_basic_addition(self): + """ + Tests that 1 + 1 always equals 2. + """ + self.assertEqual(1 + 1, 2) diff --git a/codetemplates/django/basic/project_name/views.py b/codetemplates/django/basic/project_name/views.py new file mode 100644 index 0000000..60f00ef --- /dev/null +++ b/codetemplates/django/basic/project_name/views.py @@ -0,0 +1 @@ +# Create your views here. diff --git a/codetemplates/django/basic/requirements.txt b/codetemplates/django/basic/requirements.txt new file mode 100644 index 0000000..021ee2f --- /dev/null +++ b/codetemplates/django/basic/requirements.txt @@ -0,0 +1,4 @@ +Django==1.4.1 +virtualenv==1.7.2 +pytz==2012h +dj-database-url==0.2.1 diff --git a/codetemplates/django/basic/settings.py b/codetemplates/django/basic/settings.py new file mode 100644 index 0000000..e27ea14 --- /dev/null +++ b/codetemplates/django/basic/settings.py @@ -0,0 +1,111 @@ +# Settings for {{ project_name }}. + +import os + +PROJECT_DIR = os.path.abspath(os.path.dirname(__file__)) + +DEBUG = os.environ.get('DEBUG', False) +TEMPLATE_DEBUG = DEBUG + +ADMINS = () +MANAGERS = ADMINS + +import dj_database_url +DATABASES = {'default': dj_database_url.config()} + +SITE_ID = 1 + +LANGUAGE_CODE = 'en-us' +USE_I18N = True +USE_L10N = True + +USE_TZ = True +TIME_ZONE = 'America/Los_Angeles' + +MEDIA_ROOT = os.path.join(PROJECT_DIR, 'media') +MEDIA_URL = '/media/' + +STATIC_ROOT = os.path.join(PROJECT_DIR, 'collected-static') +STATIC_URL = '/static/' + +STATICFILES_DIRS = ( + os.path.join(PROJECT_DIR, 'static'), +) + +STATICFILES_FINDERS = ( + 'django.contrib.staticfiles.finders.FileSystemFinder', + 'django.contrib.staticfiles.finders.AppDirectoriesFinder', +) + +TEMPLATE_LOADERS = ( + 'django.template.loaders.filesystem.Loader', + 'django.template.loaders.app_directories.Loader', +) + +MIDDLEWARE_CLASSES = ( + 'django.middleware.common.CommonMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', +) + +TEMPLATE_CONTEXT_PROCESSORS = ( + 'django.contrib.auth.context_processors.auth', + 'django.core.context_processors.i18n', + 'django.core.context_processors.request', + 'django.core.context_processors.media', + 'django.core.context_processors.static', + 'django.contrib.messages.context_processors.messages', +) + +ROOT_URLCONF = 'urls' + +TEMPLATE_DIRS = ( + os.path.join(PROJECT_DIR, 'templates'), +) + +INSTALLED_APPS = ( + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.sites', + 'django.contrib.messages', + 'django.contrib.staticfiles', + # Custom apps below here. + '{{ project_name }}', +) + +if DEBUG: + INSTALLED_APPS += ('django.contrib.admin',) + +LOGGING = { + 'version': 1, + 'disable_existing_loggers': False, + 'handlers': { + 'console': { + 'level': 'DEBUG' if DEBUG else 'INFO', + 'class': 'logging.StreamHandler', + }, + }, + 'loggers': { + '': { + 'handlers': ['console'], + 'level': 'INFO', + 'propagate': True, + }, + '{{ project_name }}': { + 'handlers': ['console'], + 'level': 'DEBUG' if DEBUG else 'INFO', + 'propagate': True, + }, + } +} + + +# +# Environment +# + +assert 'SECRET_KEY' in os.environ, 'Set SECRET_KEY in your .env file!' +SECRET_KEY = os.environ['SECRET_KEY'] diff --git a/codetemplates/django/basic/urls.py b/codetemplates/django/basic/urls.py new file mode 100644 index 0000000..c3e6912 --- /dev/null +++ b/codetemplates/django/basic/urls.py @@ -0,0 +1,16 @@ +from django.conf import settings +from django.conf.urls import patterns, include, url + + +urlpatterns = patterns('', + url(r'', include('{{ project_name }}.urls')), +) + + +if settings.DEBUG: + from django.contrib import admin + admin.autodiscover() + urlpatterns += patterns('', + url(r'^admin/', include(admin.site.urls)), + ) + diff --git a/config/nvim/UltiSnips/lua.snippets b/config/nvim/UltiSnips/lua.snippets deleted file mode 100644 index 7ac7099..0000000 --- a/config/nvim/UltiSnips/lua.snippets +++ /dev/null @@ -1,22 +0,0 @@ -# lua.snippets -# vim: set ts=8 sw=8 sts=8 noet list: -# Eryn Wells - - -snippet pd -local pd = playdate -endsnippet - -snippet gfx -local gfx = playdate.graphics -endsnippet - -snippet sprite -class("${1:Sprite}").extends(gfx.sprite) - -function $1:init() -end - -function $1:update() -end -endsnippet diff --git a/config/nvim/UltiSnips/python.snippets b/config/nvim/UltiSnips/python.snippets deleted file mode 100644 index f9b0c22..0000000 --- a/config/nvim/UltiSnips/python.snippets +++ /dev/null @@ -1,49 +0,0 @@ -# python.snippets -# vim: set ts=8 sw=8 sts=8 noet list: -# Eryn Wells - -snippet parse_args -def parse_args(): - parser = argparse.ArgumentParser() - # TODO: Configure arguments here. - args = parser.parse_args() - return args -endsnippet - -snippet ifmain -def main(argv): - ${1:pass} - - -if __name__ == '__main__': - import sys - sys.exit(main(sys.argv)) -endsnippet - -snippet script -#!/usr/bin/env python3 -# Eryn Wells - -''' -New script. -''' - -import argparse - - -def parse_args(argv, *a, **kw): - parser = argparse.ArgumentParser(*a, **kw) - # TODO: Configure arguments here. - args = parser.parse_args(argv) - return args - - -def main(argv): - args = parse_args(argv[1:], prog=argv[0]) - ${1:# TODO} - - -if __name__ == '__main__': - import sys - sys.exit(main(sys.argv)) -endsnippet diff --git a/config/nvim/UltiSnips/rust.snippets b/config/nvim/UltiSnips/rust.snippets deleted file mode 100644 index da88543..0000000 --- a/config/nvim/UltiSnips/rust.snippets +++ /dev/null @@ -1,38 +0,0 @@ -# rust.snippets -# vim: set ts=8 sw=8 sts=8 noet list: -# Eryn Wells - -snippet nnapp -// Eryn Wells - -use nannou::prelude::*; - -struct Model { - _window: window::Id, -} - -impl Model { - fn new(app: &App) -> Self { - let window = app.new_window().view(view).build().unwrap(); - Self { - _window: window, - } - } - - fn update(app: &App, model: &mut Model, update: Update) { - model.update(app, update) - } - - fn update(&mut self, app: &App, update: Update) { - // TODO: Update the model here. - } -} - -fn view(app: &App, model: &Model, frame: Frame) { - // TODO: Draw the view here. -} - -fn main() { - nannou::app(Model::new).update(update).run(); -} -endsnippet diff --git a/config/nvim/after/ftplugin/css.lua b/config/nvim/after/ftplugin/css.lua deleted file mode 100644 index 25913ef..0000000 --- a/config/nvim/after/ftplugin/css.lua +++ /dev/null @@ -1,4 +0,0 @@ --- Eryn Wells - -vim.opt_local.shiftwidth = 2 -vim.opt_local.softtabstop = 2 diff --git a/config/nvim/after/ftplugin/gitcommit.vim b/config/nvim/after/ftplugin/gitcommit.vim deleted file mode 100644 index 35c0053..0000000 --- a/config/nvim/after/ftplugin/gitcommit.vim +++ /dev/null @@ -1,4 +0,0 @@ -" Eryn Wells - -" The default text width for git commit messages is 72 characters, which is just too dang small. -setlocal textwidth=80 diff --git a/config/nvim/after/ftplugin/gohtmltmpl.lua b/config/nvim/after/ftplugin/gohtmltmpl.lua deleted file mode 100644 index 886a868..0000000 --- a/config/nvim/after/ftplugin/gohtmltmpl.lua +++ /dev/null @@ -1,4 +0,0 @@ --- Eryn Wells - -vim.bo.shiftwidth = 2 -vim.bo.softtabstop = 2 diff --git a/config/nvim/after/ftplugin/html.lua b/config/nvim/after/ftplugin/html.lua deleted file mode 100644 index 25913ef..0000000 --- a/config/nvim/after/ftplugin/html.lua +++ /dev/null @@ -1,4 +0,0 @@ --- Eryn Wells - -vim.opt_local.shiftwidth = 2 -vim.opt_local.softtabstop = 2 diff --git a/config/nvim/after/ftplugin/lua.lua b/config/nvim/after/ftplugin/lua.lua deleted file mode 100644 index 2deb764..0000000 --- a/config/nvim/after/ftplugin/lua.lua +++ /dev/null @@ -1,18 +0,0 @@ --- Eryn Wells - -local expand = vim.fn.expand -local resolve = vim.fn.resolve -local stdpath = vim.fn.stdpath - --- My dotfiles are usually symlinks. Resolve them so the path comparison makes sense. -local configPath = resolve(stdpath("config")) -local fullPath = resolve(expand("%:p")) -if string.find(fullPath, configPath) == 1 then - vim.opt_local.path = { - ".", - "", - configPath .. "/**", - } - - vim.opt_local.suffixesadd:append(".lua") -end diff --git a/config/nvim/after/ftplugin/python.lua b/config/nvim/after/ftplugin/python.lua deleted file mode 100644 index 4a997fd..0000000 --- a/config/nvim/after/ftplugin/python.lua +++ /dev/null @@ -1,2 +0,0 @@ --- Eryn Wells - diff --git a/config/nvim/after/ftplugin/rust.lua b/config/nvim/after/ftplugin/rust.lua deleted file mode 100644 index f9e52aa..0000000 --- a/config/nvim/after/ftplugin/rust.lua +++ /dev/null @@ -1,3 +0,0 @@ --- Eryn Wells - -vim.opt.foldmethod = 'syntax' diff --git a/config/nvim/after/ftplugin/text.vim b/config/nvim/after/ftplugin/text.vim deleted file mode 100644 index ee5520d..0000000 --- a/config/nvim/after/ftplugin/text.vim +++ /dev/null @@ -1 +0,0 @@ -abbr hawaii Hawai‘i diff --git a/config/nvim/after/ftplugin/zsh.lua b/config/nvim/after/ftplugin/zsh.lua deleted file mode 100644 index 3c265c3..0000000 --- a/config/nvim/after/ftplugin/zsh.lua +++ /dev/null @@ -1,15 +0,0 @@ --- Eryn Wells - -local zshFPath = vim.env.FPATH -if zshFPath then - local paths = vim.split(zshFPath, ":") - vim.bo.path = ".," .. table.concat(paths, ",") .. ",," -else - local defaultFPath = { - "~/.dotfiles/zsh/func/**", - "~/.zsh/func/**", - "/usr/local/share/zsh/site-functions", - "/usr/share/zsh/site-functions" - } - vim.bo.path = ".," .. table.concat(defaultFPath) .. ",," -end diff --git a/config/nvim/after/plugin/gitgutter.lua b/config/nvim/after/plugin/gitgutter.lua deleted file mode 100644 index fe20947..0000000 --- a/config/nvim/after/plugin/gitgutter.lua +++ /dev/null @@ -1,27 +0,0 @@ --- Eryn Wells - --- Ensure there's always a gutter column so there's no stutter when changes cause it to appear. -vim.wo.signcolumn = "yes" - -local gitgutter_colorscheme_group = vim.api.nvim_create_augroup("GitGutterColorSchemeOverrides", { clear = true }) - -local function update_gitgutter_colors() - vim.cmd [[ - hi! SignColumn ctermbg=233 - hi! GitGutterAdd ctermbg=233 - hi! GitGutterRemove ctermbg=233 - hi! GitGutterChange ctermbg=233 - hi! GitGutterChangeDelete ctermbg=233 - ]] -end - -vim.api.nvim_create_autocmd("User", { - pattern = "GitGutter", - callback = update_gitgutter_colors, - group = gitgutter_colorscheme_group, -}) - -vim.api.nvim_create_autocmd("ColorScheme", { - callback = update_gitgutter_colors, - group = gitgutter_colorscheme_group, -}) diff --git a/config/nvim/after/plugin/treesitter.lua b/config/nvim/after/plugin/treesitter.lua deleted file mode 100644 index 4f9ee81..0000000 --- a/config/nvim/after/plugin/treesitter.lua +++ /dev/null @@ -1,11 +0,0 @@ -local treesitter_configs = require 'nvim-treesitter.configs' - -treesitter_configs.setup { - ensure_installed = { "lua", "vim" }, - sync_install = true, - auto_install = true, - hightlight = { - enable = true, - additional_vim_regex_highlighting = false, - }, -} diff --git a/config/nvim/after/syntax/css.vim b/config/nvim/after/syntax/css.vim deleted file mode 100644 index e13c8f7..0000000 --- a/config/nvim/after/syntax/css.vim +++ /dev/null @@ -1,7 +0,0 @@ -" css.vim -" Eryn Wells - -syn match cssLogicalBoxProp contained "\" -syn match cssLogicalBoxProp contained "\" - -hi def link cssLogicalBoxProp cssProp diff --git a/config/nvim/ftdetect/gohtmltmpl.lua b/config/nvim/ftdetect/gohtmltmpl.lua deleted file mode 100644 index c250b8b..0000000 --- a/config/nvim/ftdetect/gohtmltmpl.lua +++ /dev/null @@ -1,7 +0,0 @@ --- Eryn Wells - --- Detect layout templates in Hugo projects -vim.api.nvim_create_autocmd({"BufRead", "BufNewFile"}, { - pattern = {"*/layouts/*.html"}, - command = "setfiletype gohtmltmpl" -}) diff --git a/config/nvim/ftdetect/make.lua b/config/nvim/ftdetect/make.lua deleted file mode 100644 index d398cf8..0000000 --- a/config/nvim/ftdetect/make.lua +++ /dev/null @@ -1,7 +0,0 @@ --- Filetype detection for Makefiles --- Eryn Wells - -vim.api.nvim_create_autocmd({"BufRead", "BufNewFile"}, { - pattern = "*.make", - command = "setfiletype make", -}) diff --git a/config/nvim/ftdetect/zsh.lua b/config/nvim/ftdetect/zsh.lua deleted file mode 100644 index 1e748af..0000000 --- a/config/nvim/ftdetect/zsh.lua +++ /dev/null @@ -1,6 +0,0 @@ --- Eryn Wells - -vim.api.nvim_create_autocmd({"BufRead", "BufNewFile"}, { - pattern = {"*/zsh/*"}, - command = "setfiletype zsh", -}) diff --git a/config/nvim/init.lua b/config/nvim/init.lua deleted file mode 100644 index 8143253..0000000 --- a/config/nvim/init.lua +++ /dev/null @@ -1,91 +0,0 @@ --- Eryn Wells - -require 'os' - -function gitTopLevelDirectory() - local handle = io.popen('git rev-parse --show-toplevel') - if handle == nil then - return nil - end - - local gitRepoTopLevelDirectoryPath = vim.fn.trim(handle:read('*a')) - handle:close() - - return gitRepoTopLevelDirectoryPath -end - --- Enable per-project (per-git repository) customization of (neo)vim by looking --- for .vim and .nvim directories in the root of the git repository. -function addGitTopLevelDirectoryToRuntimePath() - local gitTopLevelPath = gitTopLevelDirectory() - if gitTopLevelPath == nil or string.len(gitTopLevelPath) == 0 then - return - end - - local repoVimPath = gitTopLevelPath .. "/.vim" - if vim.fn.isdirectory(repoVimPath) == 1 then - vim.opt.runtimepath:prepend(repoVimPath) - end - local repoNvimPath = gitTopLevelPath .. "/.nvim" - if vim.fn.isdirectory(repoNvimPath) == 1 then - vim.opt.runtimepath:prepend(repoNvimPath) - end - - local repoVimAfterPath = gitTopLevelPath .. "/.nvim/after" - if vim.fn.isdirectory(repoVimAfterPath) == 1 then - vim.opt.runtimepath:append(repoVimAfterPath) - end - local repoNvimAfterPath = gitTopLevelPath .. "/.vim/after" - if vim.fn.isdirectory(repoNvimAfterPath) == 1 then - vim.opt.runtimepath:append(repoNvimAfterPath) - end -end - -vim.cmd [[ - source ~/.vimrc.common - source ~/.vim/plugins.vim -]] - -addGitTopLevelDirectoryToRuntimePath() - -require 'autocommands' -require 'colors' -require 'configuration' -require 'diagnostics' -require 'treesitter' -require 'lsp' - -local keys = require 'keys' -keys.init() - -local gui = require 'gui' -gui.init() - -function ErynEnsureMetadataDirectoriesExist() - local paths = { - vim.opt.backupdir:get(), - vim.opt.directory:get(), - vim.opt.undodir:get(), - } - - local function makeDirectory(path) - os.execute("mkdir -p " .. path) - end - - for _, opt in ipairs(paths) do - for _, value in ipairs(opt) do - if string.find(value, "//$") then - makeDirectory(value) - end - end - end - - -- The shadafile option is a single option but get() returns a table, so - -- iterate it just to be safe. - for _, opt in ipairs(vim.opt.shadafile:get()) do - local shadaDirectory = vim.fs.dirname(opt) - makeDirectory(shadaDirectory) - end -end - -ErynEnsureMetadataDirectoriesExist() diff --git a/config/nvim/lua/autocommands.lua b/config/nvim/lua/autocommands.lua deleted file mode 100644 index d92e1c1..0000000 --- a/config/nvim/lua/autocommands.lua +++ /dev/null @@ -1,15 +0,0 @@ --- Eryn Wells - -vim.opt.updatetime = 300 - --- Show diagnostic popup on cursor hover -local diagnostic_float_group = vim.api.nvim_create_augroup("DiagnosticFloat", { clear = true }) -vim.api.nvim_create_autocmd("CursorHold", { - callback = function() - vim.diagnostic.open_float { - border = "double", - focusable = false, - } - end, - group = diagnostic_float_group, -}) diff --git a/config/nvim/lua/colors.lua b/config/nvim/lua/colors.lua deleted file mode 100644 index 6dc00f9..0000000 --- a/config/nvim/lua/colors.lua +++ /dev/null @@ -1,62 +0,0 @@ --- Eryn Wells - --- Allow using GUI style colors (#RRGGBB hex codes) in color terminals if we --- know it can do it. This is required for most modern color themes. Apple's --- Terminal.app doesn't have True Color support though, so make sure it's --- off for that. -vim.g.termguicolors = not vim.env.TERM_PROGRAM == "Apple_Terminal" - -local colorscheme_group = vim.api.nvim_create_augroup("ColorSchemeOverrides", { clear = true }) - -vim.api.nvim_create_autocmd("ColorScheme", { - callback = function() - vim.cmd [[ - hi! ColorColumn cterm=NONE ctermbg=233 - hi! CursorColumn cterm=NONE ctermbg=233 - hi! CursorLine cterm=NONE ctermbg=233 - hi! CursorLineNr cterm=bold ctermfg=White ctermbg=233 - hi! LineNr ctermfg=DarkGray ctermbg=233 - ]] - end, - group = colorscheme_group, -}) - -vim.api.nvim_create_autocmd("ColorScheme", { - pattern = "default", - callback = function() - vim.cmd [[ hi! NormalFloat ctermfg=8 ]] - end, - group = colorscheme_group, -}) - -vim.api.nvim_create_autocmd("ColorScheme", { - pattern = "dracula", - callback = function() - vim.cmd [[ highlight CursorLineNr guibg=#44475a ]] - end, - group = colorscheme_group, -}) - -vim.api.nvim_create_autocmd("ColorScheme", { - pattern = "witchhazel", - callback = function() - vim.cmd [[ - hi! default link LineNr CursorLineNr - hi! default link CursorLineNr CursorLine - ]] - end, - group = colorscheme_group, -}) - -vim.api.nvim_create_autocmd("ColorScheme", { - pattern = "zaibatsu", - callback = function() - vim.cmd [[ - hi! Pmenu ctermbg=8 - hi! VertSplit ctermbg=8 - ]] - end, - group = colorscheme_group, -}) - -vim.cmd [[ color zaibatsu ]] diff --git a/config/nvim/lua/configuration.lua b/config/nvim/lua/configuration.lua deleted file mode 100644 index 6fbf469..0000000 --- a/config/nvim/lua/configuration.lua +++ /dev/null @@ -1,123 +0,0 @@ --- Eryn Wells - --- [[ Editor Configuration ]] -local opt = vim.opt - --- Reread files when they change outside of neovim -opt.autoread = true --- Don't write files before switching buffers -opt.autowrite = false - -opt.fileformats = {"unix", "dos", "mac"} - --- When creating splits, split on the right and below by default -opt.splitright = true -opt.splitbelow = true - --- Show line numbers -opt.number = true -opt.relativenumber = false - --- Start with ~all folds open. -opt.foldlevel = 99 - --- Customize the status bar a bit. Show the ruler, mode, and the command as the --- last line of the screen. -opt.ruler = true -opt.showmode = true -opt.showcmd = true - --- Never beep! -opt.visualbell = true -opt.errorbells = false - --- Wrap text rather than letting it run offscreen -opt.wrap = true -opt.linebreak = true --- Wrap to 80 characters by default -opt.textwidth = 80 --- Mark columns 80, 90, and 120 -opt.colorcolumn = {80, 90, 120} - --- Briefly show the matching parenthesis or bracket when typing one of those --- characters. -opt.showmatch = true - -opt.formatoptions:append("n") - --- When in list mode (showing whitespace) use some nicer Unicode characters. -opt.list = false -opt.listchars = { - tab = "▸ ", - eol = "¬", - trail = "・", - extends = "→", - nbsp = "・", -} - --- Search options. Ignore case by default, but be case sensitive if the pattern --- contains a capital. Incrementally search, rather than waiting until you hit --- . Search globally by default, rather than just on the current line. -opt.ignorecase = true -opt.smartcase = true -opt.incsearch = true -opt.gdefault = true - --- Prefer spaces to tabs. Indent tab characters 8 spaces, and soft indent 4 --- spaces. Never write tabs if you can help it. -opt.tabstop = 8 -opt.shiftwidth = 4 -opt.softtabstop = 4 -opt.shiftround = true -opt.expandtab = true - --- Do some nice things when wrapping, joining, and copying. -opt.joinspaces = false -opt.autoindent = true -opt.copyindent = true - --- Always show the last command you typed. -opt.laststatus = 2 - -opt.background = "dark" - --- Save all this metadata while editing. -opt.backup = true -opt.undofile = true - -local statedir = vim.fn.stdpath("state") -opt.backupdir = {statedir .. "/backup//"} -opt.directory = {statedir .. "/swap//", "."} -opt.undodir = {statedir .. "/undo//"} - --- Fields to save in the Shada file. Parameters as follows: (see :help shada) --- % number of buffers to save and restore when no file argument is given --- ' maximum number of previously edited files for which marks are remembered --- h disable highlighted search patterns on start --- / omitted, so all search history is saved --- < maximum number of lines saved for each register --- : maximum number of lines of command history to save --- s shada entries over 100 KiB are skipped -opt.shada = {"%100", "'1000", "h", "<1000", ":1000", "s100"} -opt.shadafile = statedir .. "/shada/default.shada" - --- Scroll ahead of the point a bit in each direction -opt.scrolloff = 3 -opt.sidescrolloff = 5 - -opt.wildmenu = true -opt.wildmode = {"longest", "list"} -opt.wildignore = { - -- Build artifacts - "*.o", "*.pyc", "*.lo", "*.class", - -- Swap files - "*~", - -- Non-text things - "*.db", "*.pdf", "*.jpg", "*.jpeg", "*.png", "*.gif", - -- Auto-generated things - ".git", "env", "migrations" -} - -if vim.fn.has("mouse") then - opt.mouse = "a" -end diff --git a/config/nvim/lua/diagnostics.lua b/config/nvim/lua/diagnostics.lua deleted file mode 100644 index fe351ee..0000000 --- a/config/nvim/lua/diagnostics.lua +++ /dev/null @@ -1,15 +0,0 @@ --- Eryn Wells - -vim.diagnostic.config { - virtual_text = false, - signs = true, - update_in_insert = true, - underline = true, - severity_sort = false, - float = { - border = 'rounded', - source = 'always', - header = '', - prefix = '', - }, -} diff --git a/config/nvim/lua/gui.lua b/config/nvim/lua/gui.lua deleted file mode 100644 index 873fc99..0000000 --- a/config/nvim/lua/gui.lua +++ /dev/null @@ -1,25 +0,0 @@ --- Eryn Wells - -local function _init_neovide() - if not vim.g.neovide then - return - end - - -- No use for these animations. - vim.g.neovide_cursor_animation_length = 0 - vim.g.neovide_position_animation_length = 0 - vim.g.neovide_scroll_animation_length = 0 - - vim.g.neovide_input_macos_option_key_is_meta = "both" - - vim.cmd [[ colorscheme lunaperche ]] -end - -function init_gui() - vim.o.guifont = "Berkeley Mono,Input Mono Condensed,SF Mono,Courier New:h18" - _init_neovide() -end - -return { - init = init_gui, -} diff --git a/config/nvim/lua/keys.lua b/config/nvim/lua/keys.lua deleted file mode 100644 index d83fb21..0000000 --- a/config/nvim/lua/keys.lua +++ /dev/null @@ -1,113 +0,0 @@ --- Eryn Wells - -local map = vim.keymap.set - -local function init_key_options() - vim.g.mapleader = "," -end - -local function text_navigation_mappings() - local options = { noremap = true } - - -- Navigate by soft-wrapped lines using Alt/Option/Meta + jk - map({'n', 'v'}, '', 'gk', options) - map({'n', 'v'}, '', 'gj', options) -end - -local function clipboard_mappings() - if not vim.fn.has('gui_running') then - return - end - - local options = { noremap = true } - - -- Copy to the system clipboard - map('v', '', '"+y', options) - -- Cut to the system clipboard - map('v', '', '"+x', options) - -- Paste from the system clipboard - map({'i', 'v'}, '', '"+p', options) -end - -local function window_key_mappings() - local options = { silent = true } - - -- Allow starting commands with ; instead of typing Shift-;. Save lots of keypresses! - map('n', ';', ':') - - map('n', '', 'h', options) - map('n', '', 'j', options) - map('n', '', 'k', options) - map('n', '', 'l', options) - - map('n', '', ':bn', options) - map('n', '', ':bp', options) - - map('n', '', function() - vim.cmd [[ setlocal invhlsearch ]] - end, options) -end - --- --- Language Server mappings --- - -local function diagnostic_mappings() - local options = { noremap=true, silent=true } - - -- Basic diagnostic mappings, these will navigate to or display diagnostics - map('n', 'd', vim.diagnostic.open_float, options) - map('n', '[d', vim.diagnostic.goto_prev, options) - map('n', ']d', vim.diagnostic.goto_next, options) - map('n', 'q', vim.diagnostic.setloclist, options) -end - -local function local_lsp_mappings(buffer_number) - local options = { noremap=true, silent=true, buffer=buffer_number } - - map('n', 'ga', vim.lsp.buf.code_action, options) - map('n', 'gD', vim.lsp.buf.declaration, options) - map('n', 'gd', vim.lsp.buf.definition, options) - map('n', 'gk', vim.lsp.buf.hover, options) - map('n', 'gi', vim.lsp.buf.implementation, options) - map('n', 'gK', vim.lsp.buf.signature_help, options) - map('n', '', function() - vim.lsp.inlay_hint.enable(not vim.lsp.inlay_hint.is_enabled({})) - end, options) - map('n', 'D', vim.lsp.buf.type_definition, options) - map('n', 'rn', vim.lsp.buf.rename, options) - map('n', 'ca', vim.lsp.buf.code_action, options) - map('n', 'gr', vim.lsp.buf.references, options) - - -- Replace W in .vimrc.common - map('n', 'W', function() - vim.lsp.buf.format { async = true } - end, options) -end - -local function telescope_mappings() - local builtin = require('telescope.builtin') - - map('n', 'ff', builtin.find_files, { desc = 'Telescope find files' }) - map('n', 'fg', builtin.live_grep, { desc = 'Telescope live grep' }) - map('n', 'fb', builtin.buffers, { desc = 'Telescope buffers' }) - map('n', 'fh', builtin.help_tags, { desc = 'Telescope help tags' }) - - if vim.fn.has('gui_running') then - map('n', 'D-O', builtin.buffers, { desc = 'Open existing' }) - end -end - -local function init_all_global_keybindings() - init_key_options() - clipboard_mappings() - window_key_mappings() - text_navigation_mappings() - diagnostic_mappings() - telescope_mappings() -end - -return { - init = init_all_global_keybindings, - init_lsp_key_mappings = local_lsp_mappings, -} diff --git a/config/nvim/lua/lsp.lua b/config/nvim/lua/lsp.lua deleted file mode 100644 index 8c6f913..0000000 --- a/config/nvim/lua/lsp.lua +++ /dev/null @@ -1,142 +0,0 @@ --- Eryn Wells - - -local clangd_extensions = require 'clangd_extensions' -local cmp = require 'cmp' -local lspconfig = require 'lspconfig' - -local keys = require 'keys' - -cmp.setup { - snippet = { - expand = function(args) - vim.fn["UltiSnips#Anon"](args.body) - end - }, - window = { - -- completion = cmp.config.window.bordered(), - documentation = cmp.config.window.bordered(), - }, - mapping = cmp.mapping.preset.insert({ - [''] = cmp.mapping.scroll_docs(-4), - [''] = cmp.mapping.scroll_docs(4), - [''] = cmp.mapping.complete(), - [''] = cmp.mapping.abort(), - -- Accept currently selected item. Set `select` to `false` to only - -- confirm explicitly selected items. - [''] = cmp.mapping.confirm({ select = true }), - }), - sorting = { - comparators = { - cmp.config.compare.offset, - cmp.config.compare.exact, - -- cmp.config.compare.recently_used, - clangd_extensions.cmp_scores, - cmp.config.compare.kind, - cmp.config.compare.sort_text, - cmp.config.compare.length, - cmp.config.compare.order, - }, - }, - sources = cmp.config.sources({ - { name = "nvim_lsp" }, - { name = "nvim_signature_help" }, - { name = "ultisnips" }, - { name = "buffer" }, - { name = "path" }, - }, { - { name = "buffer" }, - }) -} - -local cmp_capabilities = require("cmp_nvim_lsp").default_capabilities() - --- local protocol = require('vim.lsp.protocol') - -local function on_attach(client, buffer_number) - vim.api.nvim_buf_set_option(buffer_number, "omnifunc", "v:lua.vim.lsp.omnifunc") - vim.wo.signcolumn = "yes" - - keys.init_lsp_key_mappings(buffer_number) -end - -lspconfig.clangd.setup { - on_attach = function(client, buffer_number) - on_attach(client, buffer_number) - - local clangd_inlay_hints = require('clangd_extensions.inlay_hints') - clangd_inlay_hints.setup_autocmd() - clangd_inlay_hints.set_inlay_hints() - end, - capabilities = cmp_capabilities, -} - -lspconfig.eslint.setup { - on_attach = on_attach, - capabilities = cmp_capabilities, -} - -lspconfig.ts_ls.setup { - on_attach = on_attach, - capabilities = cmp_capabilities, -} - -lspconfig.html.setup { - on_attach = on_attach, - capabilities = cmp_capabilities, -} - -lspconfig.lua_ls.setup { - on_attach = on_attach, - capabilities = cmp_capabilities, - settings = { - Lua = { - diagnostics = { - globals = { "vim" }, - disable = { "lowercase-global" }, - }, - workspace = { - library = vim.api.nvim_get_runtime_file("", true), - checkThirdParty = false, - }, - }, - }, -} - -lspconfig.pyright.setup { - on_attach = on_attach, - capabilities = cmp_capabilities, -} - -lspconfig.rust_analyzer.setup { - on_attach = function(client, buffer_number) - on_attach(client, buffer_number) - end, - capabilities = cmp_capabilities, - settings = { - ['rust-analyzer'] = { - cargo = { - buildScripts = { - enable = true, - }, - }, - checkOnSave = true, - check = { - command = 'clippy', - extraArgs = { - "--", - "--no-deps", - "-Dclippy::correctness", - "-Dclippy::complexity", - "-Wclippy::perf", - "-Wclippy::pedantic", - }, - }, - imports = { - granularity = { - group = "crate", - }, - }, - }, - }, -} diff --git a/config/nvim/lua/treesitter.lua b/config/nvim/lua/treesitter.lua deleted file mode 100644 index 3c198f1..0000000 --- a/config/nvim/lua/treesitter.lua +++ /dev/null @@ -1,16 +0,0 @@ --- Treesitter configuration --- Eryn Wells - -local treesitter = require 'nvim-treesitter.configs' - --- For some reason the Lua linter complains about missing fields here even --- though they're not requried. So, ignore the error. ----@diagnostic disable:missing-fields -treesitter.setup { - highlight = { enable = true }, - indent = { enable = true }, - ensure_installed = { "c", "cpp", "javascript", "lua", "objc", "python", "rust", "vim" }, - auto_install = true, -} - -vim.treesitter.language.register("objcpp", { "objc", "cpp" }) diff --git a/config/nvim/syntax/gocsstmpl.vim b/config/nvim/syntax/gocsstmpl.vim deleted file mode 100644 index c79f236..0000000 --- a/config/nvim/syntax/gocsstmpl.vim +++ /dev/null @@ -1,17 +0,0 @@ -if exists("b:current_syntax") - finish -endif - -if !exists("g:main_syntax") - let g:main_syntax = 'css' -endif - -runtime! syntax/gotexttmpl.vim -runtime! syntax/css.vim -unlet b:current_syntax - -syn cluster htmlPreproc add=gotplAction,goTplComment - -let b:current_syntax = "gocsstmpl" - -" vim: sw=2 ts=2 et diff --git a/config/tmux/tmux.conf b/config/tmux/tmux.conf deleted file mode 100644 index 178c750..0000000 --- a/config/tmux/tmux.conf +++ /dev/null @@ -1,70 +0,0 @@ -# tmux config -# Eryn Wells - -set -g prefix C-f - -# Don't destroy sessions that have no clients attached. -set -g exit-unattached off - -set -g default-terminal "screen-256color" -set -g history-limit 10000 -# Bells from everywhere -set -g bell-action any -set -g visual-bell off - -# Pass xterm titles through -set -g set-titles on -set -g set-titles-string "#T" -set -g allow-rename on - -# Use vi keys for copy mode -set -g mode-keys vi -set -g repeat-time 0 - -# Bring over the SSH agent environment -set -g update-environment "SSH_AUTH_SOCK SSH_AGENT_PID SSH_CONNECTION" - -# -# STATUS BAR -# - -set -g status-style bg=black -set -g status-left " #S " -set -g status-left-style bg=green,fg=black -set -g status-right "#[bg=red,fg=white] #h #[bg=blue,fg=white] %Y-%m-%d %R #[default]" - -# Start window and pane indexing from 1 instead of 0 -set -g base-index 1 -set -g pane-base-index 1 - -# Tabs like this: "(:)" -setw -g window-status-style "fg=white,bg=black" -setw -g window-status-format " #{?#{==:#W,tmux},...,#I} #W " -setw -g window-status-current-style "fg=white,bg=blue" -#setw -g window-status-current-format " #I #W " -setw -g window-status-current-format " #{?#{==:#W,tmux},...,#I} #W " -setw -g window-status-separator "" - -set -g window-status-bell-style "bg=red" -set -g window-status-activity-style "bg=red" - -set -g alternate-screen on - -set -g clock-mode-style 24 - -# Lock the screen after 120 seconds -set -g lock-after-time 0 -set -g lock-command "tmux clock-mode" - -# -# KEY BINDINGS -# - -bind-key C-a last-window -# TODO: Decide if this should have a -n (allow invoking the command without the leader). -bind-key C-k clear-history - -bind-key C-h select-pane -L -bind-key C-j select-pane -D -bind-key C-k select-pane -U -bind-key C-l select-pane -R diff --git a/emacs b/emacs index 93ca104..134b885 100644 --- a/emacs +++ b/emacs @@ -1,6 +1,5 @@ ; .emacs ; Eryn Wells -; vim: ft=lisp: ; Show point position in the status bar diff --git a/gitconfig b/gitconfig index 2294436..a3c088a 100644 --- a/gitconfig +++ b/gitconfig @@ -2,22 +2,18 @@ name = Eryn Wells email = eryn@erynwells.me [core] - editor = nvim + editor = vim quotepath = false excludesfile = ~/.gitignore [color] ui = auto [alias] - amend = commit --amend --no-edit - edit = commit --amend --only - # Commits c = commit cm = commit -m ca = commit -a cam = commit -am # Amended commits - ce = commit --amend --only cn = commit --amend cna = commit --amend -a cnam = commit --amend -am @@ -60,14 +56,10 @@ pf = push -uf f = fetch sup = submodule update --recursive - really-clean = clean -fd - rs = restore --stage - sc = switch --create [ui] color = true [diff] tool = KS - algorithm = histogram [difftool] prompt = false [difftool "KS"] @@ -84,14 +76,3 @@ default = simple [rebase] autoStash = true -[sendemail] - transferEncoding = base64 -[filter "lfs"] - clean = git-lfs clean -- %f - smudge = git-lfs smudge -- %f - process = git-lfs filter-process - required = true -[pull] - rebase = true -[init] - defaultBranch = main diff --git a/gitignore b/gitignore index 3782146..ff7f3c7 100644 --- a/gitignore +++ b/gitignore @@ -1,6 +1,3 @@ -# Vim -*~ - # OS X .DS_Store diff --git a/muttrc b/muttrc index 6ec822c..b6245f8 100644 --- a/muttrc +++ b/muttrc @@ -59,7 +59,7 @@ set include=yes # HTML email :( set mailcap_path="~/.mutt/mailcap" auto_view text/html -alternative_order text/html text/plain text/enriched +alternative_order text/plain text/enriched text/html unmailboxes "$record" "$postponed" "$trash" diff --git a/nethackrc b/nethackrc index ba7ee23..f992c87 100644 --- a/nethackrc +++ b/nethackrc @@ -1,277 +1,40 @@ -# It me! -OPTIONS=name:Eryn -OPTIONS=gender:female -OPTIONS=catname:Mr. President -OPTIONS=dogname:Guinness -OPTIONS=horsename:Josie -OPTIONS=fruit:Raspberry +# Graphics options +OPTIONS=fullscreen +OPTIONS=color +OPTIONS=DECgraphics -# Turn off news and game splash screen OPTIONS=!news,!splash_screen -OPTIONS=!bones - -## -## Interface Stuff -## - -# Use the curses interface with DEC graphics. -OPTIONS=windowtype:curses,symset:DECgraphics -# Always show inventory -OPTIONS=perm_invent -# Enable colors -OPTIONS=color,guicolor -# Use a small popup window instead of the messages window for small messages -OPTIONS=popup_dialog -# Use dark gray color instead of blue for dark rooms -# (I don't think this works with curses though) -OPTIONS=use_darkgray -# Make alt work on macOS -OPTIONS=altmeta # Show full window of 20 messages OPTIONS=msg_window:f OPTIONS=msghistory:20 -# Highlight pets -OPTIONS=hilite_pet -# Bolder shape +# Object representation +OPTIONS=hilite_pet,lit_corridor OPTIONS=boulder:0 -# Highlight piles of things -OPTIONS=hilite_pile -# Visually distinguish lit vs unlit corridors -OPTIONS=lit_corridor -# Show a hit point bar over your name -OPTIONS=hitpointbar -# Show experience, score, and time (number of steps) OPTIONS=showexp,showscore,time -# Just show lists of items -OPTIONS=menustyle:partial -# Show object symbols in menus -OPTIONS=menu_objsyms +# auto-pickup scrolls, wands, and potions +OPTIONS=autopickup +OPTIONS=pickup_types:?!/ + +# Special fruit is a raspberry <3 +OPTIONS=fruit:raspberry # Don't bother with number pad OPTIONS=number_pad:0 -# Automatically dig if I can -OPTIONS=autodig +# Show HP in color, if properly patched +#OPTIONS=hpmon -# Disclosures at the end of the game: -# - always show inventory -# - always show attributes -# - ask to show monsters killed (default no) -# - never show genocided -# - always show conduct -OPTIONS=disclose:+i +a nv +c -g - -## -## Status Bar -## - -# Colorize the status bar -OPTIONS=statushilites:10 -# Show gold as yellow -OPTIONS=hilite_status:gold/always/yellow -# Highlight hit points with these colors -OPTIONS=hilite_status:hitpoints/100%/brightgreen -OPTIONS=hilite_status:hitpoints/<100%/green -OPTIONS=hilite_status:hitpoints/<60%/yellow -OPTIONS=hilite_status:hitpoints/<40%/red -OPTIONS=hilite_status:hitpoints-max/always/green&bold -# Ability scores have similar highlights -# Specify multiple cutoffs for all ability scores. -OPTIONS=hilite_status:characteristics/<5/red -OPTIONS=hilite_status:characteristics/>6/orange -OPTIONS=hilite_status:characteristics/>8/brown -OPTIONS=hilite_status:characteristics/>11/yellow -OPTIONS=hilite_status:characteristics/>13/green -OPTIONS=hilite_status:characteristics/>16/cyan -OPTIONS=hilite_status:characteristics/>18/lightblue -# Highlight experience changes -OPTIONS=hilite_status:experience-level/changed/cyan&bold -# Color all status conditions orange -OPTIONS=hilite_status:condition/all/orange - -## -## Autopickups -## - -# Auto-pickup safe things -OPTIONS=autopickup -OPTIONS=pickup_types:$?!/="+% -OPTIONS=pickup_burden:unencumbered -OPTIONS=pickup_thrown -# Always pick up these -AUTOPICKUP_EXCEPTION="& -; then - VIM=vim - fi - - if [[ $VIM = "nvim" ]]; then - print -P " Downloading vim-plug from Github" - curl --create-dirs -fL \ - -o "${XDG_DATA_HOME:-$HOME/.local/share}/nvim/site/autoload/plug.vim" \ - "https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim" \ - 1>/dev/null - - if whence -cp python3 >& -; then - print -P " Installing pynvim" - python3 -m pip install --user --upgrade pynvim 1>/dev/null + git clone ${vimbundles[$module]} $module 1>/dev/null 2>&1 + if [[ $? -eq 0 ]]; then + result='done' + else + result='failed' fi fi - $VIM +PlugInstall +qall -fi + spaces='' + filler=$(($COLUMNS - ${#module} - ${#result} - 4)) + for (( i=0; $i < $filler; i++ )); do spaces="$spaces "; done + if [[ $result == 'skipped' ]]; then + color='yellow' + elif [[ $result == 'failed' ]]; then + color='red' + elif [[ $result == 'done' ]]; then + color='green' + fi + print -P "$spaces%F{$color}$result%f" +done -build_fortunes +vim +PluginInstall +qall + +#if [[ -d "$dfdir/vim/bundle/command-t/ruby/command-t" ]]; then +# print -P "%BSetting up command-t%b" +# cd "$dfdir/vim/bundle/command-t/ruby/command-t" +# ruby extconf.rb +# make +#fi exit 0 diff --git a/ssh/config b/ssh/config deleted file mode 100644 index 83a3613..0000000 --- a/ssh/config +++ /dev/null @@ -1,5 +0,0 @@ -# Eryn Wells -# vim: set ft=sshconfig sw=2 sts=2: - -Host * - Include config.d/* diff --git a/ssh/config.d/personal b/ssh/config.d/personal deleted file mode 100644 index 15f268c..0000000 --- a/ssh/config.d/personal +++ /dev/null @@ -1,5 +0,0 @@ -# Eryn Wells -# vim: set ft=sshconfig sw=2 sts=2: - -Host nutmeg.erynwells.me nutmeg - HostName nutmeg.erynwells.me diff --git a/tmux.conf b/tmux.conf new file mode 100644 index 0000000..000705d --- /dev/null +++ b/tmux.conf @@ -0,0 +1,63 @@ +# tmux config +# Eryn Wells + +set -g prefix C-f + +# Don't destroy sessions that have no clients attached. +set -g exit-unattached off + +set -g default-terminal "screen-256color" +set -g history-limit 10000 +# Bells from everywhere +set -g bell-action any +set -g visual-bell off + +# Pass xterm titles through +set -g set-titles on +set -g set-titles-string "#T" + +# Use vi keys for copy mode +set -g mode-keys vi +set -g repeat-time 0 + +# No left status; right status bar is session name +set -g status-bg black +set -g status-left "" +set -g status-left-bg black +set -g status-left-fg brightblue +set -g status-left-attr none + +set -g status-right "| #S " +set -g status-right-bg black +set -g status-right-fg brightblue +set -g status-right-attr none + +# Start window and pane indexing from 1 instead of 0 +set-option -g base-index 1 +set-option -g pane-base-index 1 + +# Tabs like this: "(:)" +setw -g window-status-style "fg=brightgreen,bg=black" +setw -g window-status-format "(#I:#W)" +setw -g window-status-current-style "fg=yellow,bg=black" +setw -g window-status-current-format "(#I:#W)" + +setw -g window-status-bell-style "fg=red" +setw -g window-status-activity-style "fg=brightred" + +setw -g alternate-screen on + +setw -g clock-mode-style 24 + +# Lock the screen after 120 seconds +set-option -g lock-after-time 0 +set-option -g lock-command "tmux clock-mode" + +bind-key C-a last-window +# TODO: Decide if this should have a -n (allow invoking the command without the leader). +bind-key C-k clear-history + +bind-key h select-pane -L +bind-key j select-pane -D +bind-key k select-pane -U +bind-key l select-pane -R diff --git a/vim/after/ftplugin/plist.vim b/vim/after/ftplugin/plist.vim deleted file mode 100644 index 6cd1c0a..0000000 --- a/vim/after/ftplugin/plist.vim +++ /dev/null @@ -1,5 +0,0 @@ -" after/ftplugin/plist.vim -" Eryn Wells - -setlocal ts=8 sw=8 sts=8 noet -setlocal list diff --git a/vim/bundle/.gitignore b/vim/bundle/.gitignore new file mode 100644 index 0000000..355164c --- /dev/null +++ b/vim/bundle/.gitignore @@ -0,0 +1 @@ +*/ diff --git a/vim/bundle/apple-swift/ftdetect/sil.vim b/vim/bundle/apple-swift/ftdetect/sil.vim new file mode 100644 index 0000000..3d856ed --- /dev/null +++ b/vim/bundle/apple-swift/ftdetect/sil.vim @@ -0,0 +1 @@ +au BufNewFile,BufRead *.sil set ft=sil diff --git a/vim/bundle/apple-swift/ftdetect/swift.vim b/vim/bundle/apple-swift/ftdetect/swift.vim new file mode 100644 index 0000000..c9dc512 --- /dev/null +++ b/vim/bundle/apple-swift/ftdetect/swift.vim @@ -0,0 +1 @@ +au BufNewFile,BufRead *.swift set ft=swift diff --git a/vim/bundle/apple-swift/ftdetect/swiftgyb.vim b/vim/bundle/apple-swift/ftdetect/swiftgyb.vim new file mode 100644 index 0000000..fc8919f --- /dev/null +++ b/vim/bundle/apple-swift/ftdetect/swiftgyb.vim @@ -0,0 +1,2 @@ +au BufNewFile,BufRead *.swift.gyb set ft=swiftgyb + diff --git a/vim/bundle/apple-swift/ftplugin/swift.vim b/vim/bundle/apple-swift/ftplugin/swift.vim new file mode 100644 index 0000000..acbb283 --- /dev/null +++ b/vim/bundle/apple-swift/ftplugin/swift.vim @@ -0,0 +1,5 @@ +setlocal comments=s1:/*,mb:*,ex:*/,:///,:// +setlocal expandtab +setlocal ts=2 +setlocal sw=2 +setlocal smartindent diff --git a/vim/bundle/apple-swift/ftplugin/swiftgyb.vim b/vim/bundle/apple-swift/ftplugin/swiftgyb.vim new file mode 100644 index 0000000..2785702 --- /dev/null +++ b/vim/bundle/apple-swift/ftplugin/swiftgyb.vim @@ -0,0 +1 @@ +runtime! ftplugin/swift.vim diff --git a/vim/bundle/apple-swift/syntax/sil.vim b/vim/bundle/apple-swift/syntax/sil.vim new file mode 100644 index 0000000..7474292 --- /dev/null +++ b/vim/bundle/apple-swift/syntax/sil.vim @@ -0,0 +1,93 @@ +" Vim syntax file +" Language: sil + +if exists("b:current_syntax") + finish +endif + +syn keyword swiftImport import skipwhite nextgroup=swiftImportModule +syn match swiftImportModule /\<[A-Za-z_][A-Za-z_0-9]*\>/ contained nextgroup=swiftImportComponent +syn match swiftImportComponent /\.\<[A-Za-z_][A-Za-z_0-9]*\>/ contained nextgroup=swiftImportComponent + +syn match swiftLineComment /^#!.*/ +syn match swiftTypeName /\<[A-Z][a-zA-Z_0-9]*\>/ +syn match swiftDecimal /\<[-]\?[0-9]\+\>/ +syn match swiftDecimal /\<[-+]\?[0-9]\+\>/ + +syn match swiftTypeName /\$\*\<\?[A-Z][a-zA-Z0-9_]*\>/ +syn match swiftVarName /%\<[A-z[a-z_0-9]\+\(#[0-9]\+\)\?\>/ + +syn keyword swiftKeyword break case continue default do else for if in static switch repeat return where while skipwhite + +syn keyword swiftKeyword sil internal thunk skipwhite +syn keyword swiftKeyword public hidden private shared public_external hidden_external skipwhite +syn keyword swiftKeyword getter setter allocator initializer enumelt destroyer globalaccessor objc skipwhite +syn keyword swiftKeyword alloc_stack alloc_ref alloc_ref_dynamic alloc_box dealloc_stack dealloc_box dealloc_ref skipwhite +syn keyword swiftKeyword debug_value debug_value_addr skipwhite +syn keyword swiftKeyword load store assign mark_uninitialized mark_function_escape copy_addr destroy_addr index_addr index_raw_pointer to skipwhite +syn keyword swiftKeyword strong_retain strong_retain_autoreleased strong_release strong_retain_unowned ref_to_unowned unowned_to_ref unowned_retain unowned_release load_weak store_weak fix_lifetime skipwhite +syn keyword swiftKeyword function_ref integer_literal float_literal string_literal global_addr skipwhite +syn keyword swiftKeyword class_method super_method witness_method dynamic_method skipwhite +syn keyword swiftKeyword apply partial_apply builtin skipwhite +syn keyword swiftKeyword metatype value_metatype existential_metatype skipwhite +syn keyword swiftKeyword retain_value release_value tuple tuple_extract tuple_element_addr struct struct_extract struct_element_addr ref_element_addr skipwhite +syn keyword swiftKeyword init_enum_data_addr unchecked_enum_data unchecked_take_enum_data_addr inject_enum_addr skipwhite +syn keyword swiftKeyword init_existential_addr deinit_existential_addr open_existential_addr init_existential_ref open_existential_ref skipwhite +syn keyword swiftKeyword upcast address_to_pointer pointer_to_address unchecked_addr_cast unchecked_ref_cast ref_to_raw_pointer raw_pointer_to_ref convert_function thick_to_objc_metatype objc_to_thick_metatype thin_to_thick_function is_nonnull unchecked_ref_bit_cast unchecked_trivial_bit_cast skipwhite +syn keyword swiftKeyword unconditional_checked_cast skipwhite +syn keyword swiftKeyword cond_fail skipwhite +syn keyword swiftKeyword unreachable return autorelease_return br cond_br switch_value select_value switch_enum switch_enum_addr dynamic_method_br checked_cast_br skipwhite +syn keyword swiftKeyword project_block_storage init_block_storage_header copy_block skipwhite + +syn keyword swiftTypeDefinition class extension protocol struct typealias enum skipwhite nextgroup=swiftTypeName +syn region swiftTypeAttributes start="\[" end="\]" skipwhite contained nextgroup=swiftTypeName +syn match swiftTypeName /\<[A-Za-z_][A-Za-z_0-9\.]*\>/ contained nextgroup=swiftTypeParameters + +syn region swiftTypeParameters start="<" end=">" skipwhite contained + +syn keyword swiftFuncDefinition func skipwhite nextgroup=swiftFuncAttributes,swiftFuncName,swiftOperator +syn region swiftFuncAttributes start="\[" end="\]" skipwhite contained nextgroup=swiftFuncName,swiftOperator +syn match swiftFuncName /\<[A-Za-z_][A-Za-z_0-9]*\>/ skipwhite contained nextgroup=swiftTypeParameters +syn keyword swiftFuncKeyword subscript init destructor nextgroup=swiftTypeParameters + +syn keyword swiftVarDefinition var skipwhite nextgroup=swiftVarName +syn keyword swiftVarDefinition let skipwhite nextgroup=swiftVarName +syn match swiftVarName /\<[A-Za-z_][A-Za-z_0-9]*\>/ skipwhite contained + +syn keyword swiftDefinitionModifier static + +syn match swiftImplicitVarName /\$\<[A-Za-z_0-9]\+\>/ + +hi def link swiftImport Include +hi def link swiftImportModule Title +hi def link swiftImportComponent Identifier +hi def link swiftKeyword Statement +hi def link swiftTypeDefinition Define +hi def link swiftTypeName Type +hi def link swiftTypeParameters Special +hi def link swiftTypeAttributes PreProc +hi def link swiftFuncDefinition Define +hi def link swiftDefinitionModifier Define +hi def link swiftFuncName Function +hi def link swiftFuncAttributes PreProc +hi def link swiftFuncKeyword Function +hi def link swiftVarDefinition Define +hi def link swiftVarName Identifier +hi def link swiftImplicitVarName Identifier +hi def link swiftIdentifierKeyword Identifier +hi def link swiftTypeDeclaration Delimiter +hi def link swiftBoolean Boolean +hi def link swiftString String +hi def link swiftInterpolation Special +hi def link swiftComment Comment +hi def link swiftLineComment Comment +hi def link swiftDecimal Number +hi def link swiftHex Number +hi def link swiftOct Number +hi def link swiftBin Number +hi def link swiftOperator Function +hi def link swiftChar Character +hi def link swiftLabel Label +hi def link swiftNew Operator + +let b:current_syntax = "sil" diff --git a/vim/bundle/apple-swift/syntax/swift.vim b/vim/bundle/apple-swift/syntax/swift.vim new file mode 100644 index 0000000..407aed1 --- /dev/null +++ b/vim/bundle/apple-swift/syntax/swift.vim @@ -0,0 +1,105 @@ +" Vim syntax file +" Language: swift +" Maintainer: Joe Groff +" Last Change: 2013 Feb 2 + +if exists("b:current_syntax") + finish +endif + +syn keyword swiftImport import skipwhite nextgroup=swiftImportModule + +syn match swiftImportModule /\<[A-Za-z_][A-Za-z_0-9]*\>/ contained nextgroup=swiftImportComponent +syn match swiftImportComponent /\.\<[A-Za-z_][A-Za-z_0-9]*\>/ contained nextgroup=swiftImportComponent + +syn keyword swiftKeyword break case continue default do else for if in static switch repeat return where while public internal private mutating nonmutating var let typealias protocol extension skipwhite + +syn keyword swiftTypeDefinition class extension protocol struct typealias enum skipwhite nextgroup=swiftTypeName +syn region swiftTypeAttributes start="\[" end="\]" skipwhite contained nextgroup=swiftTypeName +syn match swiftTypeName /\<[A-Za-z_][A-Za-z_0-9\.]*\>/ contained nextgroup=swiftTypeParameters + +syn region swiftTypeParameters start="<" end=">" skipwhite contained + +syn keyword swiftMutating mutating skipwhite nextgroup=swiftFuncDefinition +syn keyword swiftFuncDefinition func skipwhite nextgroup=swiftFuncAttributes,swiftFuncName,swiftOperator +syn region swiftFuncAttributes start="\[" end="\]" skipwhite contained nextgroup=swiftFuncName,swiftOperator +syn match swiftFuncName /\<[A-Za-z_][A-Za-z_0-9]*\>/ skipwhite contained nextgroup=swiftTypeParameters +syn keyword swiftFuncKeyword subscript init destructor nextgroup=swiftTypeParameters + +syn keyword swiftVarDefinition var skipwhite nextgroup=swiftVarName +syn keyword swiftVarDefinition let skipwhite nextgroup=swiftVarName +syn match swiftVarName /\<[A-Za-z_][A-Za-z_0-9]*\>/ skipwhite contained + +syn keyword swiftDefinitionModifier static public internal private + +syn match swiftImplicitVarName /\$\<[A-Za-z_0-9]\+\>/ + +syn match swiftTypeDeclaration /:/ nextgroup=swiftTypeAttributes,swiftTypeName skipwhite +syn match swiftTypeDeclaration /->/ nextgroup=swiftTypeAttributes,swiftTypeName skipwhite + +syn keyword swiftIdentifierKeyword metatype super self Self + +syn keyword swiftNew new skipwhite nextgroup=swiftTypeName + +syn keyword swiftBoolean true false + +syn region swiftString start=/"/ skip=/\\\\\|\\"/ end=/"/ contains=swiftInterpolation +syn region swiftInterpolation start=/\\(/ end=/)/ contained +syn region swiftComment start="/\*" end="\*/" contains=swiftComment,swiftLineComment,swiftTodo +syn region swiftLineComment start="//" end="$" contains=swiftComment,swiftTodo + +syn match swiftDecimal /[+\-]\?\<\([0-9][0-9_]*\)\([.][0-9_]*\)\?\([eE][+\-]\?[0-9][0-9_]*\)\?\>/ +syn match swiftHex /[+\-]\?\<0x[0-9A-Fa-f][0-9A-Fa-f_]*\(\([.][0-9A-Fa-f_]*\)\?[pP][+\-]\?[0-9][0-9_]*\)\?\>/ +syn match swiftOct /[+\-]\?\<0o[0-7][0-7_]*\>/ +syn match swiftBin /[+\-]\?\<0b[01][01_]*\>/ + +syn match swiftOperator +\.\@!&|^~]\@!&|^~]*\|*/\@![/=\-+*%<>!&|^~]*\|->\@![/=\-+*%<>!&|^~]*\|[=+%<>!&|^~][/=\-+*%<>!&|^~]*\)+ skipwhite nextgroup=swiftTypeParameters +syn match swiftOperator "\.\.[<.]" skipwhite nextgroup=swiftTypeParameters + +syn match swiftChar /'\([^'\\]\|\\\(["'tnr0\\]\|x[0-9a-fA-F]\{2}\|u[0-9a-fA-F]\{4}\|U[0-9a-fA-F]\{8}\)\)'/ + +syn match swiftLabel /\(\\|\\):\@=/ + +syn match swiftPreproc /^#\\|^#\/ + +syn match swiftAttribute /@\<\w\+\>/ skipwhite + +syn keyword swiftTodo TODO FIXME contained + +hi def link swiftImport Include +hi def link swiftImportModule Title +hi def link swiftImportComponent Identifier +hi def link swiftKeyword Statement +hi def link swiftTypeDefinition Define +hi def link swiftTypeName Type +hi def link swiftTypeParameters Special +hi def link swiftTypeAttributes PreProc +hi def link swiftFuncDefinition Define +hi def link swiftDefinitionModifier Define +hi def link swiftFuncName Function +hi def link swiftFuncAttributes PreProc +hi def link swiftFuncKeyword Function +hi def link swiftVarDefinition Define +hi def link swiftVarName Identifier +hi def link swiftImplicitVarName Identifier +hi def link swiftIdentifierKeyword Identifier +hi def link swiftTypeDeclaration Delimiter +hi def link swiftBoolean Boolean +hi def link swiftString String +hi def link swiftInterpolation Special +hi def link swiftComment Comment +hi def link swiftLineComment Comment +hi def link swiftDecimal Number +hi def link swiftHex Number +hi def link swiftOct Number +hi def link swiftBin Number +hi def link swiftOperator Function +hi def link swiftChar Character +hi def link swiftLabel Label +hi def link swiftNew Operator +hi def link swiftMutating Statement +hi def link swiftPreproc PreCondit +hi def link swiftAttribute Type +hi def link swiftTodo Todo + +let b:current_syntax = "swift" diff --git a/vim/bundle/apple-swift/syntax/swiftgyb.vim b/vim/bundle/apple-swift/syntax/swiftgyb.vim new file mode 100644 index 0000000..44e925b --- /dev/null +++ b/vim/bundle/apple-swift/syntax/swiftgyb.vim @@ -0,0 +1,14 @@ +" Vim syntax file +" Language: gyb on swift + +runtime! syntax/swift.vim +unlet b:current_syntax + +syn include @Python syntax/python.vim +syn region pythonCode matchgroup=gybPythonCode start=+^ *%+ end=+$+ contains=@Python keepend +syn region pythonCode matchgroup=gybPythonCode start=+%{+ end=+}%+ contains=@Python keepend +syn match gybPythonCode /\${[^}]*}/ +hi def link gybPythonCode CursorLineNr + +let b:current_syntax = "swiftgyb" + diff --git a/vim/colors/witchhazel.vim b/vim/colors/witchhazel.vim deleted file mode 100644 index 8431dc9..0000000 --- a/vim/colors/witchhazel.vim +++ /dev/null @@ -1,83 +0,0 @@ -" VIM color file -" -" Note: Based on the Witch Hazel theme for Sublime Text -" https://github.com/theacodes/witchhazel - -hi clear -set background=dark -if version > 580 - if exists("syntax_on") - syntax reset - endif -endif - -let s:lightgrey = "#B0BEC5" -let s:linen = "#F8F8F2" -let s:mint = "#C2FFDF" -let s:pink = "#FFB8D1" -let s:brick = "#DC7070" -let s:clay = "#A8757B" -let s:rouge = "#960050" -let s:turquoise = "#1BC5E0" -let s:sunflower = "#FFF352" - -let s:lilac = "#CEB1FF" -let s:darklilac = "#C5A3FF" -let s:amethyst = "#716799" -let s:purps = "#433E56" -let s:shadow = "#3B364E" -let s:midnight = "#1e0010" - - -" Sets the highlighting for the given group -fun X(group, fg, bg, attr) - if a:fg != "" - exec "hi " . a:group . " guifg=" . a:fg - endif - if a:bg != "" - exec "hi " . a:group . " guibg=" . a:bg - endif - if a:attr != "" - exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr - endif -endfun - -"set t_Co=256 -let g:colors_name="witchhazel" -call X("Normal", s:linen, s:purps, "") -call X("NonText", s:lightgrey, "", "") - -call X("Character", s:darklilac, "", "") -call X("Number", s:darklilac, "", "") -call X("String", s:turquoise, "", "") -call X("Constant", s:darklilac, "", "") - -call X("Comment", s:lightgrey, "", "") -call X("Function", s:lilac, "", "") -call X("Structure", s:lilac, "", "") -call X("Define", s:lilac, "", "") -call X("Identifier", s:linen, "", "") -call X("Keyword", s:mint, "", "") -call X("StorageClass", s:pink, "", "") -call X("Statement", s:mint, "", "italic") -call X("Conditional", s:mint, "", "") -call X("Operator", s:pink, "", "") -call X("Type", s:sunflower, "", "") -call X("Special", s:sunflower, "", "") - -call X("Cursor", "", s:linen, "") -call X("CursorLine", "", s:amethyst, "") -call X("ColorColumn", "", s:shadow, "") -call X("Search", s:linen, s:amethyst, "") -call X("Visual", s:purps, s:amethyst, "") -call X("Todo", s:brick, s:purps, "bold") -call X("Error", s:rouge, s:midnight, "") - -call X("pythonSpaceError", "", s:clay, "") - -"hi def link pythonDecoratorName Define -"hi link Conditional Keyword -"hi link Repeat Keyword - -"hi link cType Keyword - diff --git a/vim/colors/witchhazel_hypercolor.vim b/vim/colors/witchhazel_hypercolor.vim deleted file mode 100644 index 72780fa..0000000 --- a/vim/colors/witchhazel_hypercolor.vim +++ /dev/null @@ -1,83 +0,0 @@ -" VIM color file -" -" Note: Based on the Witch Hazel theme for Sublime Text -" https://github.com/theacodes/witchhazel - -hi clear -set background=dark -if version > 580 - if exists("syntax_on") - syntax reset - endif -endif - -let s:lightgrey = "#BFBFBF" -let s:linen = "#F8F8F2" -let s:mint = "#81FFBE" -let s:pink = "#FFB8D1" -let s:brick = "#DC7070" -let s:clay = "#894E63" -let s:rouge = "#960050" -let s:turquoise = "#81EEFF" -let s:sunflower = "#FFF352" - -let s:lilac = "#DCC8FF" -let s:darklilac = "#C5A3FF" -let s:amethyst = "#131218" -let s:purps = "#282634" -let s:shadow = "#3B364E" -let s:midnight = "#1e0010" -let s:other = "#FFF9A3" - - -" Sets the highlighting for the given group -fun X(group, fg, bg, attr) - if a:fg != "" - exec "hi " . a:group . " guifg=" . a:fg - endif - if a:bg != "" - exec "hi " . a:group . " guibg=" . a:bg - endif - if a:attr != "" - exec "hi " . a:group . " gui=" . a:attr . " cterm=" . a:attr - endif -endfun - -"set t_Co=256 -let g:colors_name="witchhazel" -call X("Normal", s:linen, s:purps, "") -call X("NonText", s:lightgrey, "", "") - -call X("Character", s:other, "", "") -call X("Number", s:darklilac, "", "") -call X("String", s:turquoise, "", "italic") -call X("Constant", s:other, "", "") - -call X("Comment", s:lightgrey, "", "") -call X("Function", s:lilac, "", "") -call X("Structure", s:lilac, "", "") -call X("Define", s:lilac, "", "") -call X("Identifier", s:linen, "", "") -call X("Keyword", s:mint, "", "") -call X("StorageClass", s:pink, "", "") -call X("Statement", s:mint, "", "italic") -call X("Conditional", s:mint, "", "") -call X("Operator", s:pink, "", "") -call X("Type", s:sunflower, "", "") -call X("Special", s:sunflower, "", "") - -call X("Cursor", "", s:linen, "") -call X("CursorLine", "", s:amethyst, "") -call X("ColorColumn", "", s:shadow, "") -call X("Search", s:linen, s:amethyst, "") -call X("Visual", s:purps, s:amethyst, "") -call X("Todo", s:brick, s:purps, "bold") -call X("Error", s:rouge, s:midnight, "") - -call X("pythonSpaceError", "", s:clay, "") - -"hi def link pythonDecoratorName Define -"hi link Conditional Keyword -"hi link Repeat Keyword - -"hi link cType Keyword diff --git a/vim/plugins.vim b/vim/plugins.vim deleted file mode 100644 index 9478c60..0000000 --- a/vim/plugins.vim +++ /dev/null @@ -1,49 +0,0 @@ -" Eryn Wells - -" Set up Vim and Neovim plugins with vim-plug. -" See setup.sh in my dotfiles repo for the setup procedure. - -call plug#begin() - -" Filetypes -Plug 'keith/swift.vim' -Plug 'othree/html5.vim' -Plug 'pangloss/vim-javascript' -Plug 'rust-lang/rust.vim' -Plug 'fatih/vim-go', { 'tag': 'v1.28' } - -" Editing helpers -Plug 'airblade/vim-gitgutter' -Plug 'tpope/vim-repeat' -Plug 'tpope/vim-speeddating' -Plug 'tpope/vim-surround' -Plug 'tpope/vim-unimpaired' -Plug 'tpope/vim-commentary' -Plug 'tpope/vim-fugitive' -Plug 'PeterRincker/vim-argumentative' - -" Environment niceties -Plug 'scrooloose/nerdtree' - -" Snippets -Plug 'SirVer/ultisnips' -Plug 'honza/vim-snippets' - -if has('nvim') - " Telescope - Plug 'nvim-lua/plenary.nvim' - Plug 'nvim-telescope/telescope.nvim', { 'tag': '0.1.8' } - - " Language servers - Plug 'neovim/nvim-lspconfig' - Plug 'hrsh7th/cmp-nvim-lsp' - Plug 'hrsh7th/cmp-nvim-lsp' - Plug 'hrsh7th/cmp-buffer' - Plug 'hrsh7th/cmp-path' - Plug 'hrsh7th/cmp-cmdline' - Plug 'hrsh7th/nvim-cmp' - Plug 'nvim-treesitter/nvim-treesitter', {'do': ':TSUpdate'} - Plug 'p00f/clangd_extensions.nvim' -endif - -call plug#end() diff --git a/vimrc b/vimrc index a0d2aea..ee00498 100644 --- a/vimrc +++ b/vimrc @@ -1,27 +1,403 @@ " ~/.vimrc " Eryn Wells -source ~/.vimrc.common +" Set the location of my vim directory. +let $VIM = $HOME."/.vim" +" Set this first for Vundle +set nocompatible " use enhanced vim features +filetype off " Needs to be off for Vundle to work (?) + +let g:python_host_prog=$HOME.'/.virtualenvs/neovim/bin/python' +let g:python3_host_prog=$HOME.'/.virtualenvs/neovim/bin/python3' + +" +" VUNDLE PLUGINS +" + +set rtp+=$VIM/bundle/Vundle.vim +call vundle#begin() + +Plugin 'gmarik/Vundle.vim' + +" Filetypes +Plugin 'keith/swift.vim' +Plugin 'othree/html5.vim' + +" Editing helpers +Plugin 'tpope/vim-repeat' +Plugin 'tpope/vim-speeddating' +Plugin 'tpope/vim-surround' +Plugin 'tpope/vim-unimpaired' +Plugin 'tpope/vim-commentary' +Plugin 'PeterRincker/vim-argumentative' + +Plugin 'sjl/gundo.vim' " Undo helper +Plugin 'scrooloose/nerdtree' +Plugin 'wincent/command-t' + +"Plugin 'erynofwales/vim-fancyfolds' +Plugin 'apple-swift', {'pinned': 1} +Plugin 'rust-lang/rust.vim' + +" Colors~ +Plugin 'tomasr/molokai' + +" Snippets +Plugin 'MarcWeber/vim-addon-mw-utils' +Plugin 'tomtom/tlib_vim' +Plugin 'garbas/vim-snipmate' +Plugin 'honza/vim-snippets' + +call vundle#end() + +" +" CONFIG OPTIONS +" + +set autoread " reread files changed outside of vim +set noautowrite " don't write files before commands like :next and :make + +set ffs=unix,dos,mac " order of line ending formats to try + +set hidden " allow hidden buffers (rather than closing them) +set splitright " Open vertical splits to the right of the current window +set splitbelow " Open horizontal splits below the current window + +set number " show line numbers +set ruler " show ruler (line and col count) +set showmode " show mode +set showcmd " show last command +set title " change terminal title +set visualbell " don't beep +set noerrorbells " PLEASE don't beep +set ttyfast " fast terminals + +set wrap " wrap long lines +set linebreak " break at between words +set textwidth=120 " wrap at 120 characters +set colorcolumn=80,89,120 + " highlight these columns +set showmatch " show matching things: (), {}, [], etc + +set fo+=n " format numbered lists properly + +set nolist +set lcs+=tab:▸\ " show tabs +set lcs+=eol:¬ " show end-of-lines +set lcs+=trail:・ " show trailing spaces +set lcs+=extends:→ " show long lines (that go offscreen) +set lcs+=nbsp:・ " show non-breaking spaces + +set ignorecase " ignore case in searches +set smartcase " case-sensitive search if pattern contains a capital +set incsearch " show search matches as you type +set gdefault " apply searches globally to a line by default + +set laststatus=2 " always show status line + +" This is basically default status line, with a few exceptions: +" 1. Show buffer number before filename (%n:) +" 2. Show filetype after file name +set statusline=%2n:%<%f\ %((%Y)%)\ %(%h%m%r%)%=%-12(%l,%c%V%)%P + +set spelllang=en " set spelling language +set spellfile=$VIM/spelling.en.add + +set noswapfile " don't keep swap files +set nobackup " don't keep backup files +set backupdir=$VIM/backup + " save backup files here +set undofile " save undo history +set undodir=$VIM/undo " save undo files here +set history=1000 " remember 1000 commands in history +set undolevels=1000 " keep lots of undo history if !has('nvim') - set nocompatible " use enhanced vim features - - let s:localdir=expand("~/.local/state/vim") - if !isdirectory(s:localdir) - call mkdir(s:localdir, "p") - endif - - let &backupdir=expand(s:localdir . "/backup//" . ",.") - let &undodir=expand(s:localdir . "/undo//") - let &viminfofile=expand(s:localdir . "/viminfo") - - " Shada data. Parameters as follows: (see :help shada) - " % number of buffers to save and restore when no file argument is given - " ' maximum number of previously edited files for which marks are remembered - " h disable highlighted search patterns on start - " / omitted, so all search history is saved - " < maximum number of lines saved for each register - " : maximum number of lines of command history to save - " s shada entries over 100 KiB are skipped - set viminfo=%100,'100,h,<1000,:100,s100 + set viminfo=%100,'100,/100,h,\"500,:100,n$VIM/.viminfo +else + set viminfo=%100,'100,/100,h,\"500,:100,n$VIM/.nviminfo +endif + " I have *NO* idea what this does... + +set backspace=indent,eol,start + " backspace over everything in insert mode + +set tabstop=8 " tabs are always 8 spaces +set shiftwidth=4 " shift lines 4 spaces with >> and << +set softtabstop=4 " tab key inserts 4 spaces +set shiftround " round off indent to multiple of shiftwidth +set expandtab " always use spaces +set nojoinspaces " insert 1 space instead of 2 after punctuation on line + " join +set autoindent " always use autoindenting +set copyindent " copy previous indentation on autoindent + +set scrolloff=3 " scroll 3 lines ahead of point +set sidescrolloff=5 " scroll 5 columns ahead of point + +set pastetoggle= " toggle paste mode with this + +" completion menu +set wildmenu +set wildmode=longest,list + +" Wild ignores +" build artifacts +set wildignore+=*.o,*.pyc,*~,.lo,*.class +set wildignore+=*.db,*.pdf,*.jpg,*.jpeg,*.png,*.gif +set wildignore+=.git,env,migrations + +if has('mouse') + set mouse=a +endif + +set modeline +set modelines=12 + +" Add my generated system tags files +set tags=./tags,tags +" These two are the important ones +set tags+=~/.tags/apple_frameworks.tags +set tags+=~/.tags/usr.tags +"set tags+=~/.tags/3rdparty_frameworks.tags +" This thing is 853 MB on my last count. It *probably* doesn't need to be +" included all the time... +"set tags+=~/.tags/usr_local.tags + +if $TERM_PROGRAM ==# "Apple_Terminal" + set title + " Apple Terminal lets you set the current document with this escape. + set t_ts=]6; + " Alarm character. + set t_fs= + " Write out the full path to the current file in the title string. + set titlestring=file://%{expand('%:p')} +endif + +" use syntax highlighting if the terminal can support it (or we're in a GUI) +if &t_Co > 2 || has('gui_running') + syntax on " turn on syntax highlighting +endif + +" Dark backgrounds are the only way to travel +set bg=dark + +try + colorscheme tomorrow_night +endtry + +let g:snipMate = { 'snippet_version': 1 } +" tell SnipMate who I am +let g:snips_author = 'Eryn Wells ' +" Set up some snippet scope aliases +let g:snipMate.scope_aliases = {} +let g:snipMate.scope_aliases["java"] = "android" + +" set the Gundo preview window on the bottom +let g:gundo_preview_bottom = 1 + +" +" PATHS +" + +set path=.,,/usr/local/include,/usr/include + +if has('mac') + let g:xcode_path = system('xcode-select -p') + let s:clang_library_path = g:xcode_path . 'Toolchains/XcodeDefault.xctoolchain/usr/lib' + if isdirectory(s:clang_library_path) + let g:clang_library_path = s:clang_library_path + endif +endif + +" +" Mappings +" + +noremap :NERDTreeToggle +noremap :GundoToggle +noremap :setlocal invlist + +inoremap kj + +" allow starting commands with ; instead of : +nnoremap ; : + +" tab to skip between braces and such in normal +"nnoremap % +"vnoremap % + +" use PCREs for searches +nnoremap / /\v +vnoremap / /\v + +" disable the help key! +noremap + +" make switching windows easier +nnoremap h +nnoremap j +nnoremap k +nnoremap l + +" Usual EMACS (oh the horror!) begin-line and end-line keys for first and last +" buffer. +"nnoremap :bfirst +"nnoremap :blast +" Move between buffers with and +nnoremap :bn +nnoremap :bp + + +function! strip_trailing_whitespace() + " save last search + let _s=@/ + " save cursor position + let l = line('.') + let c = col('.') + " do the clean up + %s/\s\+$//e + " restore saved stuff + let @/=_s + call cursor(l, c) +endfunction + + +function! SelectaCommand(choice_command, selecta_args, vim_command) + try + silent let selection = system(a:choice_command . " | selecta " . a:selecta_args) + catch /Vim:Interrupt/ + " Swallow ^C so the redraw below happens; otherwise there will be + " leftovers of selecta on screen. + redraw! + return + endtry + redraw! + exec a:vim_command . " " . selection +endfunction + + +" Key Mappings {{{ +let mapleader=',' + +" hide search terms +nnoremap :setlocal invhlsearch +" find all +nnoremap fa :%s/\v + +" strip all trailing whitespace in the current file +nnoremap W :call strip_trailing_whitespace() + +" Source .vimrc +nnoremap sv :source $MYVIMRC + +" Edit my .vimrc +nnoremap ev :split $MYVIMRC +" Edit the snippet file for the current filetype +nnoremap es :e ~/.vim/bundle/snipmate-snippets/snippets/=&filetype.snippets +" Edit the ftplugin-after script for the current filetype +nnoremap ef :e ~/.vim/after/ftplugin/=&filetype.vim + +" hide search terms +nnoremap :setlocal invhlsearch +" find all +nnoremap fa :%s/\v + +nnoremap f :call SelectaCommand("find * -type f", "", ":e") + +nnoremap cl :setlocal invcursorline +nnoremap cc :setlocal invcursorcolumn + +" Text bubbling (these depend on tpope's unimpaired plugin) +nnoremap [e +nnoremap ]e +vnoremap [egv +vnoremap ]egv + +" Select last edited text after cut and paste +nnoremap gV `[v`] + +" }}} + + +" Command-T should open files in tabs when I hit ; move opening files in +" buffers to +"let g:CommandTAcceptSelectionMap='' +"let g:CommandTAcceptSelectionTabMap='' + +" GitGutter shows changed lines in files. +"let g:gitgutter_enabled = 0 +"highlight clear SignColumn +"nnoremap gg :ToggleGitGutter + +" Don't underline folded lines +highlight Folded cterm=bold term=bold ctermfg=NONE ctermbg=NONE + +" Line numbers are a touch darker... +"highlight LineNr ctermfg=8 ctermbg=0 + +" Don't underline the CursorLine in color terminals; use dark black. +highlight CursorLine term=underline cterm=NONE ctermbg=0 +highlight CursorLineNr term=underline cterm=NONE ctermfg=7 ctermbg=0 + +" Autocommands {{{ +if has('autocmd') + filetype plugin indent on + + " Jump to last known cursor position unless it's the first line, or past the + " end of the file + augroup RestoreCursorPosition + autocmd! + autocmd BufReadPost * + \ if line("'\"") > 1 && line("'\"") <= line("$") | + \ exe "normal! g`\"" | + \ endif + augroup END + + " Reload snippets after editing the snippets file. Snippet files are + " .snippets. Get from the filename and reload the + " snippets for that type. + "augroup ReloadSnippets + " autocmd! + " autocmd BufWritePost *.snippets :call ReloadSnippets(expand('%:t:r')) + "augroup END + + " Clean whitespace before saving: Python, C, HTML, and Objective-C + augroup StripTrailingWhitespace + autocmd! + autocmd FileType python call strip_trailing_whitespace() + autocmd FileType c,cpp,objc,objcpp call strip_trailing_whitespace() + autocmd FileType html,css call strip_trailing_whitespace() + augroup END + + " Indent wrapped long lines of code to leading indent + augroup WrapLongLinesWithProperIndentation + autocmd! + autocmd FileType python,c,cpp,objc,objcpp,html,css setlocal breakindent showbreak=\ \ \ \ + augroup END + + augroup SConsFileType + autocmd! + autocmd BufRead SCons{truct,cript} setf python + augroup END + + " Toggle position highlighting + augroup HighlightCursorLineInNormalMode + autocmd! + autocmd BufEnter * setlocal cursorline + autocmd InsertEnter * setlocal nocursorline + autocmd InsertLeave * setlocal cursorline + augroup END + + augroup XCodeProjectFileType + autocmd! + autocmd BufRead *.pbxproj setf xcodepbx + augroup END +endif +" }}} + +if has('unix') + if filereadable($HOME."/.vimrc.local") + source $HOME/.vimrc.local + endif endif diff --git a/vimrc.common b/vimrc.common deleted file mode 100644 index fe87b5a..0000000 --- a/vimrc.common +++ /dev/null @@ -1,278 +0,0 @@ -" .vimrc.common -" Eryn Wells - -" This file holds settings common to nvim and vim. - -" -" CONFIG OPTIONS -" - -set autoread " reread files changed outside of vim -set noautowrite " don't write files before commands like :next and :make - -set ffs=unix,dos,mac " order of line ending formats to try - -set hidden " allow hidden buffers (rather than closing them) -set splitright " Open vertical splits to the right of the current window -set splitbelow " Open horizontal splits below the current window - -set number " show line numbers -set ruler " show ruler (line and col count) -set showmode " show mode -set showcmd " show last command -set visualbell " don't beep -set noerrorbells " PLEASE don't beep -set ttyfast " fast terminals - -set wrap " wrap long lines -set linebreak " break at between words -set textwidth=120 " wrap at 120 characters -set colorcolumn=80,89,120 - " highlight these columns -set showmatch " show matching things: (), {}, [], etc - -set fo+=n " format numbered lists properly - -set nolist -set lcs+=tab:▸\ " show tabs -set lcs+=eol:¬ " show end-of-lines -set lcs+=trail:・ " show trailing spaces -set lcs+=extends:→ " show long lines (that go offscreen) -set lcs+=nbsp:・ " show non-breaking spaces - -set ignorecase " ignore case in searches -set smartcase " case-sensitive search if pattern contains a capital -set incsearch " show search matches as you type -set gdefault " apply searches globally to a line by default - -set laststatus=2 " always show status line - -" This is basically default status line, with a few exceptions: -" 1. Show buffer number before filename (%n:) -" 2. Show filetype after file name -set statusline=%2n:%<%f\ %((%Y)%)\ %(%h%m%r%)%=%-12(%l,%c%V%)%P - -set spelllang=en " set spelling language -set spellfile=$VIM/spelling.en.add - -" Save swap, backup, and undo files. Each editor dictates where these will live. -set swapfile -set backup -set undofile - -set history=1000 " remember 1000 commands in history -set undolevels=1000 " keep lots of undo history - -set backspace=indent,eol,start - " backspace over everything in insert mode - -set tabstop=8 " tabs are always 8 spaces -set shiftwidth=4 " shift lines 4 spaces with >> and << -set softtabstop=4 " tab key inserts 4 spaces -set shiftround " round off indent to multiple of shiftwidth -set expandtab " always use spaces -set nojoinspaces " insert 1 space instead of 2 after punctuation on line join -set autoindent " always use autoindenting -set copyindent " copy previous indentation on autoindent - -set scrolloff=3 " scroll 3 lines ahead of point -set sidescrolloff=5 " scroll 5 columns ahead of point - -" completion menu -set wildmenu -set wildmode=longest,list - -" Wild ignores -" build artifacts -set wildignore+=*.o,*.pyc,*~,.lo,*.class -set wildignore+=*.db,*.pdf,*.jpg,*.jpeg,*.png,*.gif -set wildignore+=.git,env,migrations - -if has('mouse') - set mouse=a -endif - -set modeline -set modelines=12 - -" Add my generated system tags files -set tags=./tags,tags -" These two are the important ones -set tags+=~/.tags/apple_frameworks.tags -set tags+=~/.tags/usr.tags -"set tags+=~/.tags/3rdparty_frameworks.tags -" This thing is 853 MB on my last count. It *probably* doesn't need to be -" included all the time... -"set tags+=~/.tags/usr_local.tags - -set title - -" use syntax highlighting if the terminal can support it (or we're in a GUI) -if &t_Co > 2 || has('gui_running') - syntax on " turn on syntax highlighting -endif - -let g:snipMate = { 'snippet_version': 1 } -" tell SnipMate who I am -let g:snips_author = 'Eryn Wells ' -" Set up some snippet scope aliases -let g:snipMate.scope_aliases = {} -let g:snipMate.scope_aliases["java"] = "android" - -if has('mac') - let g:rust_clip_command = 'pbcopy' -endif -let g:rustfmt_autosave = 1 - -" -" Mappings -" - -noremap :NERDTreeToggle -noremap :GundoToggle -noremap :setlocal invlist - -inoremap kj - -" allow starting commands with ; instead of : -nnoremap ; : - -" tab to skip between braces and such in normal -"nnoremap % -"vnoremap % - -" use PCREs for searches -nnoremap / /\v -vnoremap / /\v - -" disable the help key! -noremap - -" make switching windows easier -nnoremap h -nnoremap j -nnoremap k -nnoremap l - -" Usual EMACS (oh the horror!) begin-line and end-line keys for first and last -" buffer. -"nnoremap :bfirst -"nnoremap :blast -" Move between buffers with and -nnoremap :bn -nnoremap :bp - - -function! strip_trailing_whitespace() - " save last search - let _s=@/ - " save cursor position - let l = line('.') - let c = col('.') - " do the clean up - %s/\s\+$//e - " restore saved stuff - let @/=_s - call cursor(l, c) -endfunction - - -" Key Mappings {{{ -let mapleader=',' - -" strip all trailing whitespace in the current file -nnoremap W :call strip_trailing_whitespace() - -" Source .vimrc -nnoremap sv :source $MYVIMRC - -" Edit my .vimrc -nnoremap ev :split $MYVIMRC -" Edit the snippet file for the current filetype -nnoremap es :e ~/.vim/bundle/snipmate-snippets/snippets/=&filetype.snippets -" Edit the ftplugin-after script for the current filetype -nnoremap ef :e ~/.vim/after/ftplugin/=&filetype.vim - -" hide search terms -nnoremap :setlocal invhlsearch -" find all -nnoremap fa :%s/\v - -" Text bubbling (these depend on tpope's unimpaired plugin) -nnoremap [e -nnoremap ]e -vnoremap [egv -vnoremap ]egv - -" Select last edited text after cut and paste -nnoremap gV `[v`] - -" }}} - -" GitGutter shows changed lines in files. -"let g:gitgutter_enabled = 0 -"highlight clear SignColumn -"nnoremap gg :ToggleGitGutter - -" Autocommands {{{ -if has('autocmd') - "filetype plugin indent on - - " Jump to last known cursor position unless it's the first line, or past the - " end of the file - augroup RestoreCursorPosition - autocmd! - autocmd BufReadPost * - \ if line("'\"") > 1 && line("'\"") <= line("$") | - \ exe "normal! g`\"" | - \ endif - augroup END - - " Reload snippets after editing the snippets file. Snippet files are - " .snippets. Get from the filename and reload the - " snippets for that type. - "augroup ReloadSnippets - " autocmd! - " autocmd BufWritePost *.snippets :call ReloadSnippets(expand('%:t:r')) - "augroup END - - " Clean whitespace before saving: Python, C, HTML, and Objective-C - augroup StripTrailingWhitespace - autocmd! - autocmd FileType python call strip_trailing_whitespace() - autocmd FileType c,cpp,objc,objcpp call strip_trailing_whitespace() - autocmd FileType html,css call strip_trailing_whitespace() - autocmd FileType lua call strip_trailing_whitespace() - augroup END - - " Indent wrapped long lines of code to leading indent - augroup WrapLongLinesWithProperIndentation - autocmd! - autocmd FileType python,c,cpp,objc,objcpp,html,css setlocal breakindent showbreak=\ \ \ \ - augroup END - - augroup SConsFileType - autocmd! - autocmd BufRead SCons{truct,cript} setf python - augroup END - - " Toggle position highlighting - augroup HighlightCursorLineInNormalMode - autocmd! - autocmd BufEnter * setlocal cursorline - autocmd InsertEnter * setlocal nocursorline - autocmd InsertLeave * setlocal cursorline - augroup END - - augroup XCodeProjectFileType - autocmd! - autocmd BufRead *.pbxproj setf xcodepbx - augroup END - - augroup PListFileType - autocmd! - autocmd BufRead *.plist setf xml.plist - augroup END -endif -" }}} - diff --git a/vimrc.local b/vimrc.local new file mode 100644 index 0000000..be596a1 --- /dev/null +++ b/vimrc.local @@ -0,0 +1,5 @@ +" .vimrc.local +" Local customizations for Vim +" Eryn Wells + + diff --git a/zprofile b/zprofile index d92467f..122f2cb 100644 --- a/zprofile +++ b/zprofile @@ -1,9 +1,12 @@ +#!/usr/bin/env zsh # Eryn Wells -zsh_init_profile_functions=( \ - connect_ssh_agent \ - init_profile_$SYS \ -) +# Start SSH agent for password-less logins +if [ -z "$SSH_AUTH_SOCK" -a -x "$SSHAGENT" ]; then + eval `ssh-agent -s` + trap "kill $SSH_AGENT_PID" 0 +fi -do_init_functions zsh_init_profile_functions +autoload list_tmux_sessions +list_tmux_sessions diff --git a/zsh/func/append_to_path b/zsh/func/append_to_path index ba99cef..3c21108 100644 --- a/zsh/func/append_to_path +++ b/zsh/func/append_to_path @@ -1,39 +1,13 @@ -# Eryn Wells +#!/usr/bin/env zsh # vim:ft=zsh: +# Eryn Wells -append_to_path() { - local should_export_path=1 - local should_be_verbose=0 - - while getopts "ve" opt; do - case $opt in - "e") should_export_path=1;; - "+e") should_export_path=0;; - "v") should_be_verbose=1;; - *) ;; - esac - done - - local result=1 - local path_to_add=$@[$OPTIND] - - if [[ -d "$path_to_add" ]]; then - if (( $should_be_verbose )); then - echo "Appending $path_to_add to \$path" - fi - path+="$path_to_add" - else - if (( $should_be_verbose )); then - echo "$path_to_add doesn't exist" - fi - result=0 - fi - - if (( $should_export_path )); then +function append_to_path +{ + if [[ -d "$1" ]]; then + path+="$1" export path fi - - return $result } append_to_path "$@" diff --git a/zsh/func/binary_exists b/zsh/func/binary_exists index f083c5a..21166db 100644 --- a/zsh/func/binary_exists +++ b/zsh/func/binary_exists @@ -1,8 +1,4 @@ +# Check if ZSH thinks the binary exists # Eryn Wells -binary_exists() { - hash $1 1>/dev/null 2>&1 - return $? -} - -binary_exists "$@" +hash $1 1>/dev/null 2>&1 diff --git a/zsh/func/bool b/zsh/func/bool deleted file mode 100644 index 1fe2567..0000000 --- a/zsh/func/bool +++ /dev/null @@ -1,31 +0,0 @@ -# Eryn Wells -# vim: set ft=zsh: - -function bool { - if [[ "$1" =~ '^-?[0-9]+$' ]]; then - if (( $1 == 0 )); then - echo "no" - return 1 - else - echo "yes" - return 0 - fi - fi - - local lowercase_value=${(L)1} - - if [[ "$lowercase_value" == "yes" || "$lowercase_value" == "true" ]]; then - echo "yes" - return 0 - fi - - if [[ "$lowercase_value" == "no" || "$lowercase_value" == "false" ]]; then - echo "no" - return 1 - fi - - echo "no" - return 1 -} - -bool "$@" diff --git a/zsh/func/connect_ssh_agent b/zsh/func/connect_ssh_agent deleted file mode 100644 index e762eb1..0000000 --- a/zsh/func/connect_ssh_agent +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env zsh -# Eryn Wells - -function connect_ssh_agent -{ - # Start SSH agent for password-less logins - if [[ -z "$SSH_AUTH_SOCK" && -x "$SSHAGENT" ]]; then - if ! pgrep -u $USER ssh-agent 1>/dev/null; then - eval $(ssh-agent -s > ~/.ssh_agent_vars) - trap "kill $SSH_AGENT_PID" 0 - else - eval $(cat ~/.ssh_agent_vars) - fi - fi -} - -connect_ssh_agent "$@" diff --git a/zsh/func/darwin/darwin-hardware-model b/zsh/func/darwin/darwin-hardware-model deleted file mode 100644 index d19603b..0000000 --- a/zsh/func/darwin/darwin-hardware-model +++ /dev/null @@ -1,11 +0,0 @@ -# Eryn Wells - -darwin-hardware-model() { - if [[ -z "$darwin_hardware_model" ]]; then - darwin_hardware_model=`sysctl -n hw.model` - fi - echo "$darwin_hardware_model" -} - -darwin-hardware-model "$@" - diff --git a/zsh/func/darwin/darwin-os-build b/zsh/func/darwin/darwin-os-build deleted file mode 100644 index c2bcff9..0000000 --- a/zsh/func/darwin/darwin-os-build +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env zsh -# Eryn Wells - -darwin-os-build() { - if [[ -z "$darwin_os_build" ]]; then - darwin_os_build=`sysctl -n kern.osversion` - fi - echo "$darwin_os_build" -} - -darwin-os-build "$@" diff --git a/zsh/func/darwin/darwin-os-version b/zsh/func/darwin/darwin-os-version deleted file mode 100644 index dd67566..0000000 --- a/zsh/func/darwin/darwin-os-version +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env zsh -# Eryn Wells - -darwin-os-version() { - if [[ -z "$darwin_os_version" ]]; then - darwin_os_version=`sysctl -n kern.osproductversion` - fi - echo "$darwin_os_version" -} - -darwin-os-version "$@" diff --git a/zsh/func/darwin_configure_screenshots_directory b/zsh/func/darwin_configure_screenshots_directory index 0a5e287..cd93c0f 100644 --- a/zsh/func/darwin_configure_screenshots_directory +++ b/zsh/func/darwin_configure_screenshots_directory @@ -3,19 +3,20 @@ autoload darwin_icloud_drive_path -icloud=`darwin_icloud_drive_path` -if [[ ! -d "$icloud" ]]; then - return 1 -fi +function darwin_configure_screenshots_directory +{ + icloud=`darwin_icloud_drive_path` + if [[ ! -d "$icloud" ]]; then + return 1 + fi -# Put screenshots in iCloud Drive, in a directory according to hostname -local name=`hostname -s | tr A-Z a-z | tr ' ' -` -local screenshots_dir="$icloud/Screenshots/$name" -mkdir -p "$screenshots_dir" + # Put screenshots in iCloud Drive, in a directory according to hostname + local name=`hostname -s | tr A-Z a-z` + local screenshots_dir="$icloud/Screenshots/$name" + mkdir -p "$screenshots_dir" + defaults write com.apple.screencapture screenshots_diration "$screenshots_dir" -echo "$screenshots_dir" -defaults write com.apple.screencapture screenshots_diration "$screenshots_dir" + return 0 +} -killall Dock - -return 0 +darwin_configure_screenshots_directory "$@" diff --git a/zsh/func/darwin-icloud-drive-path b/zsh/func/darwin_icloud_drive_path similarity index 65% rename from zsh/func/darwin-icloud-drive-path rename to zsh/func/darwin_icloud_drive_path index 2d7941a..d351001 100644 --- a/zsh/func/darwin-icloud-drive-path +++ b/zsh/func/darwin_icloud_drive_path @@ -1,9 +1,9 @@ #!/usr/bin/env zsh # Eryn Wells -function darwin-icloud-drive-path +function darwin_icloud_drive_path { echo "$HOME/Library/Mobile Documents/com~apple~CloudDocs" } -darwin-icloud-drive-path "$@" +darwin_icloud_drive_path "$@" diff --git a/zsh/func/darwin_init_once b/zsh/func/darwin_init_once index 9734bb7..3829569 100644 --- a/zsh/func/darwin_init_once +++ b/zsh/func/darwin_init_once @@ -3,7 +3,6 @@ autoload darwin_icloud_drive_path autoload darwin_configure_screenshots_directory -autoload init_xcode function darwin_init_once { @@ -15,8 +14,6 @@ function darwin_init_once # See https://techstuffer.com/this-app-is-damaged-error-macos-sierra/ sudo spctl --master-disable - - init_xcode } darwin_init_once "$@" diff --git a/zsh/func/do_init_functions b/zsh/func/do_init_functions deleted file mode 100644 index d8c280a..0000000 --- a/zsh/func/do_init_functions +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env zsh -# Eryn Wells - -for func in ${(P)${1}}; do - if autoload +X -Uz $func &> /dev/null; then - $func - fi -done diff --git a/zsh/func/finder b/zsh/func/finder deleted file mode 100644 index 8ef64ac..0000000 --- a/zsh/func/finder +++ /dev/null @@ -1,13 +0,0 @@ -# vim: set ft=zsh: - -# Open a file or folder in Finder. -function finder -{ - if [[ -z "$1" ]]; then - open -R . - fi - - open -R "$1" -} - -finder "$@" diff --git a/zsh/func/homebrew-prefix b/zsh/func/homebrew-prefix deleted file mode 100644 index c05c68d..0000000 --- a/zsh/func/homebrew-prefix +++ /dev/null @@ -1,19 +0,0 @@ -#!/usr/bin/env zsh - -autoload binary_exists - -function homebrew-prefix -{ - if [[ -e "$SYSTEM_PARAMETERS_FILE" ]] && binary_exists jq; then - jq .parameters.homebrew_prefix.value "$SYSTEM_PARAMETERS_FILE" - return - fi - - if ! binary_exists brew; then - return - fi - - brew --prefix -} - -homebrew-prefix "$@" diff --git a/zsh/func/init-env b/zsh/func/init-env deleted file mode 100644 index 37994f4..0000000 --- a/zsh/func/init-env +++ /dev/null @@ -1,21 +0,0 @@ -# Eryn Wells - -autoload -Uz binary_exists - -function init-env -{ - export PAGER=less - export GREP_OPTIONS="--color=auto" - export GREP_COLOR="1;32" - - if binary_exists gpg2; then - # Make sure gpg2 knows what to do with the curses-based smartcard PIN prompt. - export GPG_TTY=`tty` - fi - - # Some helpful aliases for scripting - alias local-array="local -a" - alias local-map="local -A" -} - -init-env "$@" diff --git a/zsh/func/init-env-darwin b/zsh/func/init-env-darwin deleted file mode 100644 index 166edfe..0000000 --- a/zsh/func/init-env-darwin +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env zsh -# Eryn Wells - -function init-env-darwin -{ - local -r xcode_library="$HOME/Library/Developer/Xcode" - if [[ -d "$xcode_library" ]]; then - export XCODE_LIBRARY="$xcode_library" - export XCODE_DERIVED_DATA="$XCODE_LIBRARY/DerivedData" - export XCODE_INSTALLS="$XCODE_LIBRARY/Installs" - export dd="$XCODE_DERIVED_DATA" - fi -} - -init-env-darwin "$@" diff --git a/zsh/func/init-env-path b/zsh/func/init-env-path deleted file mode 100644 index 18f20bc..0000000 --- a/zsh/func/init-env-path +++ /dev/null @@ -1,28 +0,0 @@ -# Eryn Wells - -autoload -Uz update-path - -function init-env-path -{ - path=() - update-path \ - "$HOME/Website/scripts" \ - "$HOME/bin" \ - "$HOME/.local/bin" \ - "$HOME/.cargo/bin" \ - "$HOME/.ghcup/bin" \ - "$HOME/.gem/ruby/2.2.0/bin" \ - "$HOME/.vim/bundle/vim-tidal/bin" \ - /opt/local/bin \ - /usr/X11/bin \ - /opt/brew/bin \ - /opt/homebrew/bin \ - /usr/local/bin \ - /usr/bin \ - /bin \ - /usr/local/sbin \ - /usr/sbin \ - /sbin -} - -init-env-path "$@" diff --git a/zsh/func/init-env-playdate b/zsh/func/init-env-playdate deleted file mode 100644 index b4927c8..0000000 --- a/zsh/func/init-env-playdate +++ /dev/null @@ -1,15 +0,0 @@ -#!/usr/bin/env zsh -# Eryn Wells - -autoload -Uz prepend_to_path - -function init-env-playdate -{ - local -r sdk_path="$HOME/Developer/PlaydateSDK" - if [[ -d "$sdk_date" ]]; then - export PLAYDATE_SDK_PATH="$sdk_path" - prepend_to_path "$PLAYDATE_SDK_PATH/bin" - fi -} - -init-env-playdate "$@" diff --git a/zsh/func/init-env-python b/zsh/func/init-env-python deleted file mode 100644 index 6286e24..0000000 --- a/zsh/func/init-env-python +++ /dev/null @@ -1,19 +0,0 @@ -# Eryn Wells - -autoload -Uz prepend_to_path -autoload -Uz update-path - -function init-env-python -{ - local -r user_python_root="$HOME/Library/Python" - if [[ -d "$pythonRoot" ]]; then - for f in $pythonRoot/*; do - prepend_to_path "$f/bin" - done - fi - - export PYTHON_VIRTUAL_ENVS="$HOME/.local/share/python-virtual-environments" - update-path --prepend "$PYTHON_VIRTUAL_ENVS/eryn/bin" -} - -init-env-python "$@" diff --git a/zsh/func/init-env-tilde-paths b/zsh/func/init-env-tilde-paths deleted file mode 100644 index d6af187..0000000 --- a/zsh/func/init-env-tilde-paths +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env zsh -# Eryn Wells - -function init-env-tilde-paths -{ - for candidate_code_path in \ - "$HOME/Code" \ - "$HOME/Developer" \ - "$HOME/Documents/Code" - do - if [[ ! -d "$candidate_code_path" ]]; then - continue - fi - - c="$candidate_code_path" - break - done - - export df=~/.dotfiles -} - -init-env-tilde-paths "$@" diff --git a/zsh/func/init-env-vi b/zsh/func/init-env-vi deleted file mode 100644 index 442fc3a..0000000 --- a/zsh/func/init-env-vi +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env zsh -# Eryn Wells - -function init-env-vi -{ - # Prefer nvim and vim, in that order, over standard vi, which is insufferable. - if whence -cp nvim &> /dev/null; then - alias vi=nvim - export EDITOR=nvim - elif whence -cp vim &> /dev/null; then - alias vi=vim - export EDITOR=vim - else - export EDITOR=vi - fi - - export VISUAL=$EDITOR -} - -init-env-vi "$@" diff --git a/zsh/func/init-rc-app-environments b/zsh/func/init-rc-app-environments deleted file mode 100644 index e5250c3..0000000 --- a/zsh/func/init-rc-app-environments +++ /dev/null @@ -1,13 +0,0 @@ -#!/usr/bin/env zsh -# Eryn Wells - -autoload binary_exists - -function init-rc-app-environments -{ - # Default ledger file - local -r ledger_file="$HOME/Documents/Ledger/personal.ledger" - [[ -f "$ledger_file" ]] && export LEDGER_FILE="$ledger_file" -} - -init-rc-app-environments "$@" diff --git a/zsh/func/init-rc-completion b/zsh/func/init-rc-completion deleted file mode 100644 index f73b06c..0000000 --- a/zsh/func/init-rc-completion +++ /dev/null @@ -1,46 +0,0 @@ -#!/usr/bin/env zsh -# Eryn Wells - -function init-rc-completion -{ - autoload -Uz compinit - compinit - - # Cache completions - zstyle ':completion::complete:*' use-cache 1 - zstyle ':completion::complete:*' cache-path ~/.zsh/cache - - # Make ls show completion list in color. - # See also: https://github.com/ohmyzsh/ohmyzsh/issues/6060 - if [[ -n "$LS_COLORS" ]]; then - zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS} - else - zstyle ':completion:*:default' list-colors \ - 'di=34' 'ln=35' 'so=32' 'pi=33' 'ex=31' 'bd=34;46' 'cd=34;43' 'su=30;41' \ - 'sg=30;46' 'tw=30;42' 'ow=30;43' - fi - - # For rm, cp, and mv don't complete if file is on the line already - zstyle ':completion:*:rm:*' ignore-line yes - zstyle ':completion:*:cp:*' ignore-line yes - zstyle ':completion:*:mv:*' ignore-line yes - - # Remove trailing slashes in directory arguments - zstyle ':completion:*' squeeze-slashes true - - # Never select parent directory - zstyle ':completion:*:cd:*' ignore-parents parent pwd - - # Expand partial paths - zstyle ':completion:*' expand 'yes' - - # Show a pretty menu of killable processes - zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31' - zstyle ':completion:*:*:kill:*' menu yes select - - # Complete man pages by section - zstyle ':completion:*:manuals' separate-sections true - zstyle ':completion:*:manuals.*' insert-sections true -} - -init-rc-completion "$@" diff --git a/zsh/func/init-rc-darwin b/zsh/func/init-rc-darwin deleted file mode 100644 index f578c2c..0000000 --- a/zsh/func/init-rc-darwin +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/env zsh -# Eryn Wells - -autoload -Uz binary_exists - -function init-rc-darwin -{ - alias acls='command ls -le' - - # These things might have been installed by Homebrew, and I like the GNU - # versions better. - binary_exists gdircolors && alias dircolors='gdircolors' - binary_exists gfind && alias find='gfind' - binary_exists gnuindent && alias indent='gnuindent' - - binary_exists gls && init_rc_configure_ls `which gls` - - # ldd doesn't exist on OS X, but otool -L does the same thing. - alias ldd='otool -L' - - # From macOS's system zshrc. - # Disable the log builtin, so we don't conflict with /usr/bin/log - disable log - - local sounds=/System/Library/Sounds - alias glass="afplay $sounds/Glass.aiff" - alias funk="afplay $sounds/Funk.aiff" - - autoload -Uz darwin_init_once - autoload -Uz darwin-icloud-drive-path - autoload -Uz darwin_configure_screenshots_directory - autoload -Uz finder - - alias -s app='open' - alias -s xcodeproj='open-xcode' - alias -s xcworkspace='open-xcode' -} - -init-rc-darwin "$@" diff --git a/zsh/func/init-rc-ls b/zsh/func/init-rc-ls deleted file mode 100644 index 5d2bcbd..0000000 --- a/zsh/func/init-rc-ls +++ /dev/null @@ -1,27 +0,0 @@ -#!/usr/bin/env zsh -# Eryn Wells - -function init-rc-ls -{ - alias la="ls -A $ls_options" - alias ll="ls -l $ls_options" - alias l.="ls -d $ls_options .*" - - # Enable ls colors - export CLICOLOR=1 COLORTERM=1 - - # Define colors for ls. See the LSCOLORS documentation in ls(1). - # The default is "exfxcxdxbxegedabagacadah". - export LSCOLORS=Exdxcxfxbxegedabagacadah - - local dircolors_bin=$(whence -p dircolors || whence -p gdircolors) - if [[ -x "$dircolors_bin" ]]; then - if [[ -f "$HOME/.dircolors/$SYS.cfg" ]]; then - eval $dircolors_bin "$HOME/.dircolors/$SYS.cfg" - elif [[ -f "$HOME/.dircolors/default.cfg" ]]; then - eval $dircolors_bin "$HOME/.dircolors/default.cfg" - fi - fi -} - -init-rc-ls "$@" diff --git a/zsh/func/init-rc-prompt b/zsh/func/init-rc-prompt deleted file mode 100644 index 98f3ed9..0000000 --- a/zsh/func/init-rc-prompt +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env zsh -# Eryn Wells - -function init-rc-prompt -{ - local theme=loquacious - - autoload -U add-zsh-hook - autoload -Uz vcs_info - - zstyle ':vcs_info:*' disable p4 bzr cdv darcs mtn svk tla cvs svn - zstyle ':vcs_info:*' enable git - zstyle ':vcs_info:git:general:*' formats '%b' - zstyle ':vcs_info:git-svn:general:*' formats '%b' - - # Export the current Git branch before every prompt. - function _export-gitbranch { - vcs_info general - export gitbranch=${vcs_info_msg_0_} - } - - add-zsh-hook precmd _export-gitbranch - - autoload -U promptinit - promptinit - prompt $theme -} - -init-rc-prompt "$@" diff --git a/zsh/func/init-rc-zle b/zsh/func/init-rc-zle deleted file mode 100644 index 37e79e9..0000000 --- a/zsh/func/init-rc-zle +++ /dev/null @@ -1,17 +0,0 @@ -#!/usr/bin/env zsh -# Eryn Wells - -function init-rc-zle -{ - case "${ERYN_ZLE_MODE:-emacs}" in - vim) - bindkey -v - zle -A .backward-delete-char vi-backward-delete-char - ;; - emacs) - bindkey -e - ;; - esac -} - -init-rc-zle "$@" diff --git a/zsh/func/init_app_environments b/zsh/func/init_app_environments new file mode 100644 index 0000000..dbd7a51 --- /dev/null +++ b/zsh/func/init_app_environments @@ -0,0 +1,17 @@ +#!/usr/bin/env zsh +# Eryn Wells + +autoload binary_exists + +function init_app_environments +{ + # NetHack options + # use color in the terminal + binary_exists nethack && export NETHACKOPTIONS="color" + + # Default ledger file + local ledgerFile="$HOME/Documents/Ledger/personal.ledger" + [[ -e "$ledgerFile" ]] && LEDGER_FILE="$ledgerFile" +} + +init_app_environments "$@" diff --git a/zsh/func/init_configure_ls b/zsh/func/init_configure_ls new file mode 100644 index 0000000..088b5f4 --- /dev/null +++ b/zsh/func/init_configure_ls @@ -0,0 +1,33 @@ +#!/usr/bin/env zsh +# Eryn Wells + +local has_gnu_ls +local ls_options + +if [[ ! -e "$1" ]]; then + return +fi + +if $1 --version 2>&1 | grep GNU 1>/dev/null; then + has_gnu_ls=1 + ls_options='--color=auto' +else + has_gnu_ls=0 + ls_options='-G' +fi + +alias ls="$1 $ls_options" +alias la="$1 -A $ls_options" +alias ll="$1 -l $ls_options" +alias l.="$1 -d $ls_options .*" + +local dircolors_bin=`whence -p dircolors || whence -p gdircolors` +if [[ $has_gnu_ls -eq 1 && -n "$dircolors_bin" ]]; then + if [[ -e "$HOME/.dircolors/$SYS.cfg" ]]; then + dircolors="$HOME/.dircolors/$SYS.cfg" + else + dircolors="$HOME/.dircolors/default.cfg" + fi + + eval `$dircolors_bin $dircolors` +fi diff --git a/zsh/func/init_env b/zsh/func/init_env new file mode 100644 index 0000000..564f49b --- /dev/null +++ b/zsh/func/init_env @@ -0,0 +1,13 @@ +#!/usr/bin/env zsh +# Eryn Wells + +export PAGER="less" +export MANPAGER=$PAGER +export EDITOR="vim" +export VISUAL=$EDITOR +export LESSHISTFILE="-" +export GREP_OPTIONS="--color=auto" +export GREP_COLOR="1;32" + +# Make sure gpg2 knows what to do with the curses-based smartcard PIN prompt. +export GPG_TTY=`tty` diff --git a/zsh/func/init_env_darwin b/zsh/func/init_env_darwin new file mode 100644 index 0000000..4022238 --- /dev/null +++ b/zsh/func/init_env_darwin @@ -0,0 +1,31 @@ +#!/usr/bin/env zsh +# vim:ft=zsh: +# Eryn Wells + +autoload append_to_path +autoload prepend_to_path + +export OSBUILD=`sysctl -n kern.osversion` +export OSVERSION=`sysctl -n kern.osproductversion` +export HWMODEL=`sysctl -n hw.model` + +local pythonRoot +local python27SitePackages + +pythonRoot="$HOME/Library/Python" +if [[ -d "$pythonRoot" ]]; then + for f in `ls "$pythonRoot"`; do + prepend_to_path "$pythonRoot/$f/bin" + done +fi + +python27SitePackages="$pythonroot/2.7/lib/python/site-packages" +if [[ -d "$python27SitePackages" ]]; then + if [[ ! -z $PYTHONPATH ]]; then + PYTHONPATH=$python27SitePackages:$PYTHONPATH + else + PYTHONPATH=$python27SitePackages + fi +fi + +export PYTHONPATH diff --git a/zsh/func/init_env_darwin_python b/zsh/func/init_env_darwin_python new file mode 100644 index 0000000..615ce19 --- /dev/null +++ b/zsh/func/init_env_darwin_python @@ -0,0 +1,29 @@ +#!/usr/bin/env zsh +# vim:ft=zsh: +# Eryn Wells + +function init_env_darwin_python +{ + local pythonRoot + local python27SitePackages + + pythonRoot="$HOME/Library/Python" + if [[ -d "$pythonRoot" ]]; then + for f in `ls "$pythonRoot"`; do + prepend_to_path "$pythonRoot/$f/bin" + done + fi + + python27SitePackages="$pythonroot/2.7/lib/python/site-packages" + if [[ -d "$python27SitePackages" ]]; then + if [[ ! -z $PYTHONPATH ]]; then + PYTHONPATH=$python27SitePackages:$PYTHONPATH + else + PYTHONPATH=$python27SitePackages + fi + fi + + export PYTHONPATH +} + +init_env_darwin_python "$@" diff --git a/zsh/func/init_env_python b/zsh/func/init_env_python new file mode 100644 index 0000000..620a696 --- /dev/null +++ b/zsh/func/init_env_python @@ -0,0 +1,28 @@ +#!/usr/bin/env zsh +# Eryn Wells + +local pythonRoot +local python27SitePackages + +pythonRoot="$HOME/Library/Python" +if [[ -d "$pythonRoot" ]]; then + for f in `ls "$pythonRoot"`; do + prepend_to_path "$pythonRoot/$f/bin" + done +fi + +python27SitePackages="$pythonroot/2.7/lib/python/site-packages" +if [[ -d "$python27SitePackages" ]]; then + if [[ ! -z $PYTHONPATH ]]; then + PYTHONPATH=$python27SitePackages:$PYTHONPATH + else + PYTHONPATH=$python27SitePackages + fi +fi + +export PYTHONPATH + +if which virtualenvwrapper.sh 1>/dev/null 2>&1; then + export WORKON_HOME="$HOME/src/py/.envs" + source `which virtualenvwrapper.sh` +fi diff --git a/zsh/func/init_path b/zsh/func/init_path new file mode 100644 index 0000000..1b22195 --- /dev/null +++ b/zsh/func/init_path @@ -0,0 +1,25 @@ +#!/usr/bin/env zsh +# Initialize the path to a standard default +# Eryn Wells + +autoload prepend_to_path +autoload append_to_path + +function init_path +{ + export path=() + append_to_path "/usr/local/bin" + append_to_path "/usr/bin" + append_to_path "/bin" + append_to_path "/usr/local/sbin" + append_to_path "/usr/sbin" + append_to_path "/sbin" + prepend_to_path "/usr/X11/bin" + prepend_to_path "/opt/local/bin" + prepend_to_path "$HOME/.local/bin" + prepend_to_path "$HOME/.gem/ruby/2.2.0/bin" + prepend_to_path "$HOME/.cargo/bin" + prepend_to_path "$HOME/bin" +} + +init_path diff --git a/zsh/func/init_profile_darwin b/zsh/func/init_profile_darwin deleted file mode 100644 index fccca0f..0000000 --- a/zsh/func/init_profile_darwin +++ /dev/null @@ -1,7 +0,0 @@ -# Eryn Wells - -init_profile_darwin() { - ( ssh-add --apple-load-keychain & ) 1>/dev/null 2>&1 -} - -init_profile_darwin "$@" diff --git a/zsh/func/init_profile_darwin_say_hello b/zsh/func/init_profile_darwin_say_hello deleted file mode 100644 index f3e3b5c..0000000 --- a/zsh/func/init_profile_darwin_say_hello +++ /dev/null @@ -1,34 +0,0 @@ -# Eryn Wells - -autoload -Uz binary_exists -autoload -Uz darwin-os-version -autoload -Uz darwin-os-build -autoload -Uz darwin-hardware-model - -init_profile_darwin_say_hello() { - local cat_program=cat - if binary_exists lolcat; then - cat_program=lolcat - fi - - local hello_message="It's `date +'%H:%M on %A, %B %d'`." - - local hardware_model=`darwin-hardware-model` - if [[ -n "$hardware_model" ]]; then - hello_message+="\nThis machine is a $hardware_model." - fi - - local os_version=`darwin-os-version` - if [[ -n "$os_version" ]]; then - local os_build=`darwin-os-build` - if [[ -n "$os_build" ]]; then - hello_message+="\nYou're running macOS $os_version ($os_build)." - else - hello_message+="\nYou're running macOS $os_version." - fi - fi - - print "$hello_message\n" | $cat_program -} - -init_profile_darwin_say_hello "$@" diff --git a/zsh/func/init-rc-aliases b/zsh/func/init_rc_aliases similarity index 91% rename from zsh/func/init-rc-aliases rename to zsh/func/init_rc_aliases index c19ee7c..9870d74 100644 --- a/zsh/func/init-rc-aliases +++ b/zsh/func/init_rc_aliases @@ -3,14 +3,13 @@ autoload binary_exists -function init-rc-aliases +function init_rc_aliases { alias j='jobs' alias h='history' alias df='df -h' alias du='du -h' alias e='emacs' - alias v='vi' alias chux='chmod u+x' alias chuw='chmod u+w' @@ -34,4 +33,4 @@ function init-rc-aliases alias -s jar='java -jar' } -init-rc-aliases "$@" +init_rc_aliases "$@" diff --git a/zsh/func/init_rc_configure_completion b/zsh/func/init_rc_configure_completion new file mode 100644 index 0000000..cd96926 --- /dev/null +++ b/zsh/func/init_rc_configure_completion @@ -0,0 +1,33 @@ +#!/usr/bin/env zsh +# Eryn Wells + +autoload -U compinit +compinit + +# Cache completions +zstyle ':completion::complete:*' use-cache 1 +zstyle ':completion::complete:*' cache-path ~/.zsh/cache + +zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS} + +# For rm, cp, and mv don't complete if file is on the line already +zstyle ':completion:*:rm:*' ignore-line yes +zstyle ':completion:*:cp:*' ignore-line yes +zstyle ':completion:*:mv:*' ignore-line yes + +# Remove trailing slashes in directory arguments +zstyle ':completion:*' squeeze-slashes true + +# Never select parent directory +zstyle ':completion:*:cd:*' ignore-parents parent pwd + +# Expand partial paths +zstyle ':completion:*' expand 'yes' + +# Show a pretty menu of killable processes +zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31' +zstyle ':completion:*:*:kill:*' menu yes select + +# Complete man pages by section +zstyle ':completion:*:manuals' separate-sections true +zstyle ':completion:*:manuals.*' insert-sections true diff --git a/zsh/func/init_rc_configure_prompt b/zsh/func/init_rc_configure_prompt new file mode 100644 index 0000000..fb37858 --- /dev/null +++ b/zsh/func/init_rc_configure_prompt @@ -0,0 +1,26 @@ +#!/usr/bin/env zsh +# Eryn Wells + +local theme=$1 +if [[ -z "$1" ]]; then + theme=loquacious +fi + +autoload -U add-zsh-hook +autoload -Uz vcs_info + +zstyle ':vcs_info:*' disable p4 bzr cdv darcs mtn svk tla cvs svn +zstyle ':vcs_info:*' enable git +zstyle ':vcs_info:git:general:*' formats '%b' + +# Export the current Git branch before every prompt. +function export_gitbranch { + vcs_info general + export gitbranch=${vcs_info_msg_0_} +} + +add-zsh-hook precmd export_gitbranch + +autoload -U promptinit +promptinit +prompt $theme diff --git a/zsh/func/init_rc_configure_zle b/zsh/func/init_rc_configure_zle new file mode 100644 index 0000000..c40ff37 --- /dev/null +++ b/zsh/func/init_rc_configure_zle @@ -0,0 +1,24 @@ +#!/usr/bin/env zsh +# Eryn Wells + +function init_rc_configure_zle +{ + local mode=$1 + if [[ -z "$mode" ]]; then + mode=emacs + fi + + function configure_zle_emacs { } + function configure_zle_vim { } + + if [[ $mode == 'vim' ]]; then + bindkey -v + configure_zle_vim + zle -A .backward-delete-char vi-backward-delete-char + elif [[ $mode == 'emacs' ]]; then + bindkey -e + configure_zle_emacs + fi +} + +init_rc_configure_zle "$@" diff --git a/zsh/func/init_rc_darwin b/zsh/func/init_rc_darwin new file mode 100644 index 0000000..173e43f --- /dev/null +++ b/zsh/func/init_rc_darwin @@ -0,0 +1,37 @@ +#!/usr/bin/env zsh +# Eryn Wells + +autoload -Uz binary_exists + +alias acls='command ls -le' + +# These things might have been installed by Homebrew, and I like the GNU +# versions better. +binary_exists gdircolors && alias dircolors='gdircolors' +binary_exists gfind && alias find='gfind' +binary_exists gnuindent && alias indent='gnuindent' + +binary_exists gls && init_rc_configure_ls `which gls` + +# ldd doesn't exist on OS X, but otool -L does the same thing. +alias ldd='otool -L' + +local sounds=/System/Library/Sounds +alias glass="afplay $sounds/Glass.aiff" +alias funk="afplay $sounds/Funk.aiff" + +autoload -Uz darwin_init_once +autoload -Uz darwin_icloud_drive_path +autoload -Uz darwin_configure_screenshots_directory + +# Open a file or folder in Finder. +function finder { + if [[ -z "$1" ]]; then + open -R . + fi + + open -R "$1" +} + +alias -s app='open' +alias -s xcodeproj='open -a Xcode' diff --git a/zsh/func/init_rc_fpath_darwin b/zsh/func/init_rc_fpath_darwin deleted file mode 100644 index 5ee1a3b..0000000 --- a/zsh/func/init_rc_fpath_darwin +++ /dev/null @@ -1,18 +0,0 @@ -# Eryn Wells - -autoload binary_exists -autoload homebrew-prefix - -function init_rc_fpath_darwin -{ - if binary_exists brew; then - local brew_fpath="$(homebrew-prefix)/share/zsh/site-functions" - if [[ -d "$brew_fpath" ]]; then - fpath+=($brew_fpath) - fi - - export FPATH - fi -} - -init_rc_fpath_darwin "$@" diff --git a/zsh/func/init-rc-linux b/zsh/func/init_rc_linux similarity index 83% rename from zsh/func/init-rc-linux rename to zsh/func/init_rc_linux index 1f01355..d756389 100644 --- a/zsh/func/init-rc-linux +++ b/zsh/func/init_rc_linux @@ -1,11 +1,11 @@ #!/usr/bin/env zsh # Eryn Wells -function init-rc-linux +function init_rc_linux { alias iptls='sudo iptables --line-numbers -nv -L' alias ip6tls='sudo ip6tables --line-numbers -nv -L' alias rlx="xrdb $HOME/.Xdefaults" } -init-rc-linux "$@" +init_rc_linux "$@" diff --git a/zsh/func/init_xcode b/zsh/func/init_xcode deleted file mode 100644 index ad76b51..0000000 --- a/zsh/func/init_xcode +++ /dev/null @@ -1,13 +0,0 @@ -# Eryn Wells -# vim: ft=zsh: - -function init_xcode -{ - if [[ -d "~df/Xcode/IDETemplateMacros.plist" ]]; then - echo "Copying IDETemplateMacros.plist" - mkdir -p ~/Library/Developer/Xcode/UserData - cp ~df/Xcode/IDETemplateMacros.plist ~/Library/Developer/Xcode/UserData - fi -} - -init_xcode "%@" diff --git a/zsh/func/init-rc-zsh-history b/zsh/func/init_zsh_history similarity index 86% rename from zsh/func/init-rc-zsh-history rename to zsh/func/init_zsh_history index 31d021f..ad07940 100644 --- a/zsh/func/init-rc-zsh-history +++ b/zsh/func/init_zsh_history @@ -1,7 +1,7 @@ #!/usr/bin/env zsh # Eryn Wells -function init-rc-zsh-history +function init_zsh_history { setopt \ APPEND_HISTORY \ @@ -18,4 +18,4 @@ function init-rc-zsh-history HISTFILE="$HOME/.zhistory" } -init-rc-zsh-history "$@" +init_zsh_history "$@" diff --git a/zsh/func/init-rc-zsh-options b/zsh/func/init_zsh_options similarity index 83% rename from zsh/func/init-rc-zsh-options rename to zsh/func/init_zsh_options index 8240abb..127f842 100644 --- a/zsh/func/init-rc-zsh-options +++ b/zsh/func/init_zsh_options @@ -1,7 +1,7 @@ #!/usr/bin/env zsh # Eryn Wells -function init-rc-zsh-options +function init_zsh_options { # Report seconds since shell was invoked in milliseconds typeset -F SECONDS @@ -13,4 +13,4 @@ function init-rc-zsh-options COMPLETE_IN_WORD } -init-rc-zsh-options "$@" +init_zsh_options "$@" diff --git a/zsh/func/makers/mkcodemod b/zsh/func/makers/mkcodemod new file mode 100644 index 0000000..d2df6af --- /dev/null +++ b/zsh/func/makers/mkcodemod @@ -0,0 +1,73 @@ +#!/bin/zsh +# Create a code module +# Eryn Wells + +local opts='Ccmph' +local funcname=$0 + +_usage() { + print_info "Usage: $funcname [-$opts] mod_name [mod_name] ..." 1>&2 +} + +if [[ ${#@} -lt 2 ]]; then + print_error "Insufficient number of arguments" 1>&2 + _usage + return -1 +fi + +local opt +local complete=0 +local srcext='' +local headext='' +local modtype='' + +while getopts $opts opt; do + [[ $complete -eq 1 ]] && return 2 + case $opt in + C) + modtype='C++' + srcext='cc' + headext='hh' + ;; + c) + modtype='C' + srcext='c' + headext='h' + ;; + m) + modtype='Objective-C' + srcext='m' + headext='h' + ;; + p) + modtype='Python' + srcext='py' + ;; + h) + _usage + return 0 + ;; + *) + print_error "Invalid argument: $opt" 1>&2 + _usage + return 1 + ;; + esac + complete=1 +done + +if [[ -z $opt ]]; then + _usage + return -1 +fi + +print_info "Creating $modtype modules" +for mod in $@[$OPTIND,${#@}]; do + print_info_sub $mod + [[ -n $srcext ]] && touch $mod.$srcext + [[ -n $headext ]] && touch $mod.$headext +done + +unfunction _usage +return 0 + diff --git a/zsh/func/makers/mkdjango b/zsh/func/makers/mkdjango new file mode 100644 index 0000000..cf20b7f --- /dev/null +++ b/zsh/func/makers/mkdjango @@ -0,0 +1,58 @@ +#!/bin/zsh +# Create a Django project using a template in .dotfiles/codetemplates/django +# Eryn Wells + + +function usage_mkdjango +{ + cat <&2 + usage_mkdjango $0 + return -1 + fi + + local tname=$1 + local tdir="$HOME/.codetemplates/django/$tname" + local pname=$2 + local dest=$3 + + if [[ ! -d "$tdir" ]]; then + print_error "Invalid template name: $tname" 1>&2 + return -2 + fi + + print_info "Making Django project '$pname' with template '$tname'" + if [[ -n "$dest" && ! -d "$dest" ]]; then + print_info_sub "Destination directory given but does not exist; creating $dest" + mkdir -p "$dest" + fi + + # Determine what files might not be rendered by django-admin.py + local names=() + for f in `ls -A "$tdir"`; do + # Pick up dotfiles + if [[ -e "$f" && "$f" =~ "^\." ]]; then + names+=("$f") + fi + done + + print_info_sub "Calling django-admin.py" + django-admin.py startproject --template="$tdir" --name=${(j.,.)names} "$pname" "$dest" + exitcode=$? + + return $exitcode +} + +mkdjango $@ diff --git a/zsh/func/makers/mkmdir b/zsh/func/makers/mkmdir new file mode 100644 index 0000000..298caeb --- /dev/null +++ b/zsh/func/makers/mkmdir @@ -0,0 +1,18 @@ +#!/bin/zsh +# Make a Maildir directory +# Eryn Wells + +function mkmdir +{ + if [[ $#@ -lt 1 ]]; then + echo "Usage: $0 [maildir ...]" + exit 1 + fi + + for d in $@; do + print_info "Making maildir: $d" + mkdir -p "$d"/{new,cur,tmp} + done +} + +mkmdir "$@" diff --git a/zsh/func/neovim_init_once b/zsh/func/neovim_init_once deleted file mode 100644 index 8ae693e..0000000 --- a/zsh/func/neovim_init_once +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env zsh -# Eryn Wells - -autoload -Uz binary_exists - -neovim_init_once() -{ - if binary_exists npm; then - npm install -g \ - @tailwindcss/language-server \ - eslint \ - pyright \ - typescript-language-server \ - typescript \ - vscode-langservers-extracted - else - print "Cannot find npm binary" >&2 - return -1 - fi - - return 0 -} - -neovim_init_once "$@" diff --git a/zsh/func/nethack b/zsh/func/nethack index b7b9d53..9d46f76 100644 --- a/zsh/func/nethack +++ b/zsh/func/nethack @@ -1,4 +1,5 @@ #!/usr/bin/env zsh +# vim: set ft=zsh: # Eryn Wells function nethack @@ -6,7 +7,6 @@ function nethack local remote while getopts 'lr' opt; do case $opt in - h) echo "Usage: $0 [-l][-r]";; l) remote=0;; r) remote=1;; *) @@ -16,15 +16,17 @@ function nethack esac done - if (( $remote )); then - ssh nethack@alt.org - return $? - elif binary_exists nethack; then - command nethack "$@[$OPTIND,-1]" + if (( $remote )) && binary_exists nethack; then + telnet nethack.alt.org return $? else - ssh nethack@alt.org - return $? + if binary_exists nethack; then + command nethack + return $? + else + telnet nethack.alt.org + return $? + fi fi } diff --git a/zsh/func/open-xcode b/zsh/func/open-xcode deleted file mode 100644 index 8d75381..0000000 --- a/zsh/func/open-xcode +++ /dev/null @@ -1,12 +0,0 @@ -#!/usr/bin/env zsh -# Eryn Wells - -open-xcode() { - local selectedXcode=`xcode-select -p` - while [[ ! `basename $selectedXcode` =~ ".app$" ]]; do - selectedXcode=`dirname "$selectedXcode"` - done - open -a "$selectedXcode" $@ -} - -open-xcode "$@" diff --git a/zsh/func/prepend_to_path b/zsh/func/prepend_to_path index 2f29460..2d2aed4 100644 --- a/zsh/func/prepend_to_path +++ b/zsh/func/prepend_to_path @@ -1,38 +1,13 @@ +#!/usr/bin/env zsh +# vim:ft=zsh: # Eryn Wells -prepend_to_path() { - local should_export_path=1 - local should_be_verbose=0 - - while getopts "ve" opt; do - case $opt in - "e") should_export_path=1;; - "+e") should_export_path=0;; - "v") should_be_verbose=1;; - *) ;; - esac - done - - local result=1 - local path_to_add=$@[$OPTIND] - - if [[ -d "$path_to_add" ]]; then - if (( $should_be_verbose )); then - echo "Prepending $path_to_add to \$path" - fi - path=("$path_to_add" $path) - else - if (( $should_be_verbose )); then - echo "$path_to_add doesn't exist" - fi - result=0 - fi - - if (( $should_export_path )); then +function prepend_to_path +{ + if [[ -d "$1" ]]; then + path=("$1" $path) export path fi - - return $result } prepend_to_path "$@" diff --git a/zsh/func/prompt_loquacious_setup b/zsh/func/prompt_loquacious_setup index 803e10a..9a0f567 100644 --- a/zsh/func/prompt_loquacious_setup +++ b/zsh/func/prompt_loquacious_setup @@ -27,22 +27,18 @@ function prompt_loquacious_setup add-zsh-hook chpwd set_repo_name add-zsh-hook precmd set_xterm_title - add-zsh-hook precmd set_tmux_window_name add-zsh-hook precmd print_newline add-zsh-hook precmd set_prompt_info add-zsh-hook preexec print_newline - add-zsh-hook preexec set_tmux_window_name prompt_opts=(cr subst percent) # Set up vcs_info zstyle ':vcs_info:git:loquacious_chpwd:*' formats '%F{cyan}%r%f' - zstyle ':vcs_info:git-svn:loquacious_chpwd:*' formats '[%F{red}svn%f]%F{cyan}%r%f' zstyle ':vcs_info:git:loquacious_precmd:*' formats '(%F{blue}%b%f)' - zstyle ':vcs_info:git-svn:loquacious_precmd:*' formats '(%F{blue}%b%f)' - PS1='$PS1_PLACE, $PS1_TIME $PS1_ZLE_MODE + PS1='${PS1_NAME}${PS1_HOST}${PS1_CWD}${PS1_REPO}${PS1_BRANCH}${PS1_STATUS}${PS1_ZLE_MODE} $PS1_LINE' zle -N zle-keymap-select on_keymap_select @@ -82,28 +78,24 @@ function set_repo_name function set_prompt_info { - PS1_TIMESTAMP="%*" - PS1_STATUS="%(?..%F{red}[$?]%f)" - PS1_HISTORY="№%F{blue}%!%f" - PS1_TIME="$PS1_HISTORY$PS1_STATUS at $PS1_TIMESTAMP" + PS1_HISTORY="`prompt_colorize -b -f 'green' '%h'`" + PS1_NAME="`prompt_colorize -f 'magenta' '%n'` " + PS1_CWD="in `prompt_colorize -f 'green' '%~'` " + PS1_STATUS="%(?..`prompt_colorize -b -f 'red' '!'`) " - PS1_NAME="%F{magenta}%n%f" - PS1_HOST="%F{red}%m%f" - PS1_CWD="%F{green}%~%f" - - PS1_PLACE="$PS1_NAME" - if [[ -n "$SSH_CONNECTION" && "$TERM_PROGRAM" != "tmux" ]]; then - PS1_PLACE="$PS1_PLACE at $PS1_HOST" + if [[ -n "$SSH_CONNECTION" ]]; then + PS1_HOST="at `prompt_colorize -f 'red' '%m'` " + else + PS1_HOST='' fi - PS1_PLACE="$PS1_PLACE in $PS1_CWD" - # Get git repo information, if it exists. See setup function for # configuration details. vcs_info loquacious_precmd - PS1_BRANCH="${vcs_info_msg_0_}" if [[ -n "$vcs_info_msg_0_" ]]; then - PS1_PLACE="$PS1_PLACE $PS1_REPO$PS1_BRANCH" + PS1_BRANCH="${vcs_info_msg_0_} " + else + PS1_BRANCH="" fi # Show background jobs, if any. @@ -112,23 +104,22 @@ function set_prompt_info fi # Show background job count if any exist. - RPS1="%(1j.[%F{magenta}%j%f].)" + RPS1="%(1j.[`prompt_colorize -f 'magenta' '%j'`].)" - PS1_LINE='%(!.%F{red}.%F{default})%#%f ' + PS1_LINE='%# ' } function set_xterm_title { - local tmux_session_name='' - local title='%n@%m' + local title='' + if [[ -n "$TMUX" ]]; then - local tmux_session_name=`tmux display-message -p '#S'` - title+=" (${tmux_session_name})" + title+="`tmux display-message -p '#S'`: " fi # Set xterm and screen titles if [[ -n "$DISPLAY" || -n "$TERM_PROGRAM" ]]; then - print -Pn "\e]2;${title}\a" + print -Pn "\e]2;%n@%m\a" fi # For Apple Terminal.app, add a link to the current directory. @@ -137,26 +128,12 @@ function set_xterm_title fi } -function set_tmux_window_name -{ - if [[ -z "$TMUX" ]]; then - return - fi - - local process="${${(z)1}[1]}" - if [[ -n "$process" ]]; then - tmux rename-window "$process" - else - tmux rename-window "`print -Pn "%2~"`" - fi -} - function set_zle_mode_info { if [[ -z "$1" || "$1" == 'viins' || "$1" == 'main' ]]; then - PS1_ZLE_MODE="%F{black}%f" + PS1_ZLE_MODE=`prompt_colorize -f 'black' ''` elif [[ "$1" == 'vicmd' ]]; then - PS1_ZLE_MODE="%F{black}%f" + PS1_ZLE_MODE=`prompt_colorize -f 'black' ''` else PS1_ZLE_MODE='' fi diff --git a/zsh/func/pw b/zsh/func/pw new file mode 100644 index 0000000..90c2f89 --- /dev/null +++ b/zsh/func/pw @@ -0,0 +1,76 @@ +#!/bin/zsh +# vim:ft=zsh + +function _usage_pw +{ + cat <] [-h] [-l ] [-s ] + +Password generator. Uses the system random data generator to produce passwords +of the provided length. + +Arguments: + -c Count. Number of passwords to generate. (default: 1) + -h Help. This message. + -l Length. Number of characters per password. (default: 16) + -s Character set. Set of characters from which each character of a + password is generated. (default: all) + + alpha Uppercase and lowercase ASCII characters (A-Za-z) + num Numeric characters (0-9) + alnum The above two sets combined + sym Symbol set, including: ! @ # $ % ^ & * + xsym Extended symbols. Above plus . ; : - + = + all Alphanumeric and symbol sets above + xall Alphanumeric and extended symbol sets above +EOF +} + + +function pw +{ + local ALPHA_SET='A-Za-z' + local NUMERIC_SET='0-9' + local SYM_SET='!@#$%^&*' + local XSYM_SET="${SYM_SET}.;:-+=" + local ALNUM_SET="${ALPHA_SET}${NUMERIC_SET}" + local ALL_SET="${ALNUM_SET}${SYM_SET}" + local XALL_SET="${ALNUM_SET}${XSYM_SET}" + + local -i length=16 count=1 + local charset="$ALL_SET" + + while getopts 'c:hl:s:' opt; do + case $opt in + c) count=$OPTARG;; + h) _usage_pw $0; return 0;; + l) length=$OPTARG;; + s) case $OPTARG in + alpha) charset="$ALPHA_SET";; + num) charset="$NUMERIC_SET";; + alnum) charset="$ALNUM_SET";; + sym) charset="$SYM_SET";; + xsym) charset="$XSYM_SET";; + all) charset="$ALL_SET";; + xall) charset="$XALL_SET";; + *) echo "Invalid set name: $OPTARG" 1>&2; return -2;; + esac + ;; + *) echo "Invalid argument: $opt" 1>&2; return -1;; + esac + done + + local cmd='tr -dc "$charset" < /dev/urandom | fold -w $length | head -n $count' + + if [[ $SYS == 'darwin' ]]; then + # The way OS X >=10.6 handles unicode characters causes tr to fail with an + # 'Illegal byte sequence' error. Setting the locale here fixes that. + # + # See: http://nerdbynature.de/s9y/?176 + cmd="LC_CTYPE=C $cmd" + fi + + eval "$cmd" +} + +pw $@ diff --git a/zsh/func/update-path b/zsh/func/update-path deleted file mode 100644 index 624258a..0000000 --- a/zsh/func/update-path +++ /dev/null @@ -1,147 +0,0 @@ -# Eryn Wells -# vim: set ft=zsh: - -function _update-path-usage -{ - local -r function_name=$1 - - local usage_string=$(cat < [...] - -Modify the target path-like variable by adding or removing paths provided as -positional arguments. Before adding, check that the target path variable doesn't -already contain the path and that the directory exists. - -This function returns the number of paths that were skipped in the input. If all -paths were processed, it returns 0. It returns 255 if an error occurred while -processing arguments. - -Arguments ---------- - -%B-e%b | %B--export%b | %B--no-export%b - Export the variable after modification. The default is to export if the - variable is modified. - -%B-f%b | %B--force%b - Unconditionally add the path, even if it doesn't exist. - -%B-h%b | %B--help%b - Print this message. - -%B-p%b | %B--prepend%b - Prepend paths to the target path variable, instead of appending. When - prepending, directories will be added in reverse order so their precedence - is preserved. That is, the first directory in the list will be at the start - of the path. - -%B-P%b | %B--path%b - The name of a path-like variable to modify. The default is 'path'. - -%B-r%b | %B--remove%b - Remove paths instead of adding. -p and -f are ignored when removing - directories from the path. - -%B-v%b | %B--verbose%b - Print extra information while processing directories. -EOF -) - - print -P $usage_string -} - -function update-path -{ - zmodload zsh/zutil - - local -a o_args o_export o_force o_help o_prepend o_remove o_verbose o_pathvar - zparseopts -a o_args -D -E -F - \ - {e,-export,-no-export}=o_export \ - {f,-force}=o_force \ - {h,-help}=o_help \ - {p,-prepend}=o_prepend \ - {P,-path}:=o_pathvar \ - {r,-remove}=o_remove \ - {v,-verbose}=o_verbose - - local -ri parse_status=$? - if (( parse_status )); then - _update-path-usage $0 - return 255 - fi - - if [[ $#o_help -ne 0 ]]; then - _update-path-usage $0 - return 0 - fi - - local -r verbose=$#o_verbose - local -r path_variable_name=${o_pathvar[-1]:-path} - - if ! typeset -p $path_variable_name &> /dev/null; then - print "Invalid path variable: \$$path_variable_name" 1>&2 - return 255 - fi - - [[ $verbose -ne 0 ]] && print "Modifying $path_variable_name" - - local -i candidates_skipped=0 - local did_update_path - - local -a candidates=($@) - if [[ $#o_prepend -ne 0 ]]; then - # If prepending, reverse the list so paths are added in the right order. - candidates=(${(Oa)@}) - fi - - for candidate in $candidates; do - local candidate_index=${${(P)path_variable_name}[(Ie)$candidate]} - - # An empty $o_remove means we're adding to the array. - if [[ $#o_remove -eq 0 ]]; then - if [[ $candidate_index -ne 0 ]]; then - [[ $verbose -ne 0 ]] && print "Skipping $candidate" - (( candidates_skipped++ )) - continue - fi - - if [[ $#force -eq 0 && ! -d "$candidate" ]]; then - [[ $verbose -ne 0 ]] && print "$candidate doesn't exist" - (( candidates_skipped++ )) - continue - fi - - did_update_path=yes - - [[ $verbose -ne 0 ]] && print "Adding $candidate" - if [[ $#o_prepend -ne 0 ]]; then - eval "${path_variable_name}=(${candidate} ${path})" - else - eval "${path_variable_name}+=${candidate}" - fi - else - if [[ $candidate_index -eq 0 ]]; then - [[ $verbose -ne 0 ]] && print "Skipping $candidate" - (( candidates_skipped++ )) - continue - fi - - [[ $verbose -ne 0 ]] && print "Removing $candidate" - - did_update_path=yes - eval "${path_variable_name}[${candidate_index}]=()" - fi - done - - if [[ -n $did_update_path && $o_export[(I)--no-export] -ne 0 ]]; then - [[ $verbose -ne 0 ]] && print "Exporting $path_variable_name" - export $path_variable_name - if [[ "$path_variable_name" == "path" ]]; then - rehash - fi - fi - - return $candidates_skipped -} - -update-path "$@" diff --git a/zsh/func/vi b/zsh/func/vi new file mode 100644 index 0000000..8b768a1 --- /dev/null +++ b/zsh/func/vi @@ -0,0 +1,15 @@ +#!/usr/bin/env zsh +# Eryn Wells + +function vi +{ + if whence -cp nvim 1>/dev/null 2>&1; then + command nvim $@ + elif whence -cp vim 1>/dev/null 2>&1; then + command vim $@ + elif whence -cp vi 1>/dev/null 2>&1; then + command vi $@ + fi +} + +vi "$@" diff --git a/zshenv b/zshenv index ead3559..155a228 100644 --- a/zshenv +++ b/zshenv @@ -1,3 +1,5 @@ +# .zshenv +# vim: ft=zsh # Eryn Wells # Don't read global startup. It messes things up... @@ -5,36 +7,17 @@ unsetopt GLOBAL_RCS export SYS=`uname -s | tr A-Z a-z` -function init-env-fpath -{ - local -r fpath_candidates=( \ - "$HOME/.zsh/${SYS}-functions" \ - "$HOME/.zsh/func" \ - ) +fpath=("$HOME/.zsh/func" $fpath) +autoload +X prepend_to_path +autoload +X append_to_path +autoload +X init_env +autoload +X init_env_python +autoload +X init_path - # Process the array in reverse order (`Oa` means "descending index order", - # in other worse "reverse order"; see PARAMETER EXPANSION section of the man - # pages) so the paths are prepended in the correct order. - for candidate in ${(Oa)fpath_candidates}; do - if [[ ! -d "$candidate" ]]; then - continue - fi - fpath=($candidate $fpath) - done -} +init_path +init_env +init_env_python -init-env-fpath - -autoload -Uz do_init_functions - -typeset -a zsh_init_env_functions=( \ - init-env \ - init-env-path \ - init-env-tilde-paths \ - init-env-python \ - init-env-playdate \ - init-env-vi \ - init-env-$SYS \ -) - -do_init_functions zsh_init_env_functions +if autoload +X init_env_$SYS; then + init_env_$SYS +fi diff --git a/zshrc b/zshrc index da1297d..395a4de 100644 --- a/zshrc +++ b/zshrc @@ -1,30 +1,34 @@ +#!/usr/bin/env zsh # Eryn Wells -zsh_init_rc_functions=( \ - init_rc_fpath_darwin \ - init-rc-aliases \ - init-rc-ls \ - init-rc-prompt \ - init-rc-zle \ - init-rc-completion \ - init-rc-zsh-options \ - init-rc-zsh-history \ - init-rc-app-environments \ - init-rc-$SYS \ -) +autoload -Uz init_app_environments +autoload -Uz init_configure_ls +autoload -Uz init_rc_aliases +autoload -Uz init_rc_configure_completion +autoload -Uz init_rc_configure_prompt +autoload -Uz init_rc_configure_zle +autoload -Uz init_zsh_options +autoload -Uz init_zsh_history +autoload -Uz init_zsh_functions -if [[ -o LOGIN ]]; then - zsh_init_rc_functions+=( - list_tmux_sessions \ - ) +init_rc_aliases +init_rc_configure_prompt loquacious +init_rc_configure_zle emacs +init_rc_configure_completion +init_zsh_options +init_zsh_history +init_app_environments + +autoload +X init_rc_$SYS +init_rc_$SYS + +# Configure ls with the system ls if it hasn't been done already. +if ! alias ls 2>&1 1>/dev/null; then + init_configure_ls `which ls` fi -do_init_functions zsh_init_rc_functions - -autoload -Uz bool autoload -Uz g autoload -Uz nethack autoload -Uz pw autoload -Uz up autoload -Uz vi -autoload -Uz homebrew-prefix