Sublime Text 3 System Package Location? - sublimetext

Where are system packages located in ST3? I'm well aware of these two:
~/Library/Application Support/Sublime Text 3/Packages
~/Library/Application Support/Sublime Text 3/Installed Packages
But I can't find where packages such as HTML or PHP are located. These are system packages that I want to edit. I've seen a number of articles suggesting that I copy the default package, let's say the HTML package for example, to my 'Packages' directory and edit it how I like. I just can't find the package to copy...
I'm running OSX 10.8.5 (Mountain Lion), ST3 Build 3047.
Thanks!

Pristine packages in OS X are located in /Applications/Sublime Text.app/Contents/MacOS/Packages. If you're going to be fooling around with the contents of them, I very strongly recommend using the PackageResourceViewer plugin. It does all the moving, unzipping, and renaming behind the scenes, and if you set the "single_command": false option you'll get all the options you need in the Command Palette. I can't recommend it enough, it's made my life so much easier!
(No, I didn't write it...)
One more bit of advice - don't change any of the pristine packages. Other stuff depends on them, and weird things can break in unexpected ways if you outright delete any of them. Instead, use PRV, and/or create identically-named folders in your ~/Library/Application Support/Sublime Text 3/Packages folder, and override individual files by placing modified versions there instead.
Good luck!

Related

How to get Mac OSX Finder to preview programming text files that don't have .txt or .text extension?

Programming obviously involves lots of text file usage. You often want to see what you did somewhere else in some other program, without loading up that whole program into your current IDE of choice.
If I copy a text file from say fred.cpp to fred.cpp.text, I can view the contents of the file from the Finder's preview. But I don't want to have copy or rename all my development files.
In a 2003 (!) post on MacOSHints, there is an instruction to do this
find . -name *.xml -exec SetFile -t TEXT {} ;
(in that case, for *.xml files), but this didn't work for me due to issues with the exec command. But in any case, surely there's a better way to do it from the GUI?
Either way though: a command-line or a GUI solution would be great, thanks!
Update: I didn't manage to get qlcolorcode to work properly on the latest MacOS (10.15+) so I switched to this one.
https://github.com/sbarex/SourceCodeSyntaxHighlight
which can be installed with
brew install --cask --no-quarantine syntax-highlight
Original answer below
2 years late but you can use
https://github.com/anthonygelibert/QLColorCode
install via brew cask
brew cask install qlcolorcode
or
brew install --cask qlcolorcode
(if you have a newer brew.)
for more nice usages of the quicklook, check this repo
https://github.com/sindresorhus/quick-look-plugins
There is the Textmate QuickLook plugin which only works with Textmate running.
Pro: Syntax Highlighting
Contra: Only with (non-free) Textmate running
Alternatively: QLStephen
QLStephen is an Apple OSX QuickLook plugin that lets you view plain text files without a file extension.
But it works for all plain text files (even with extension).
Pro: Stable and free
Contra: No syntax highlighting

Why is Textmate treating *.rb files as PlainText

Been using Textmate 2 for ages. Usually keep it on the nightly builds. A couple of weeks ago it started sporadically treating all my *.rb files as plaintext. And as of the latest release build - it treats all my *.rb files as Plaintext. :(
I've tried:
Turning off all the syntax highlighters, restarting TM and reinstalling them
Uninstalling TM; reinstalling the App
Using only the actual releases, instead of nightly builds
After uninstalling all language packs, it correctly asks to install coffeescript, javascript, json, etc when I open those files. However, it does not ask for a *.rb file.
I've searched the TM mailing list and found nothing similar.
*.rake, *.rbx and all the other file types listed in the Ruby Language pack are recognized as ruby.
Any ideas?
When you open a file and manually change the file type via the status bar then TextMate 2 will remember this binding (for all files using same extension) in ~/Library/Application Support/TextMate/Global.tmProperties.
There are a few options to undo a stored file type binding:
Open a *.rb file and select Ruby via the status bar.
Edit ~/Library/Application Support/TextMate/Global.tmProperties to remove anything that sets fileType for *.rb. Such entry would look like:
[ *.rb ]
fileType = text.plain
Delete ~/Library/Application Support/TextMate/Global.tmProperties.
Quit TextMate
Remove /Library/Application Support/TextMate
Remove ~/Library/Application Support/TextMate
Launch TextMate
Open a *.rb file
Profit!

Are there any portable versions of Git for Mac OSX?

I'd like to be able to do some development work on public/borrowed computers (where I have no root privileges) and I've managed to get most of my tools working off of a USB stick but I still haven't found a Git solution.
The portable versions of Git that I have found are Windows-only. Do you know of any Mac alternatives?
EDIT: I've gotten a few suggestions to just copy my current installation of git from /usr/bin and put that on a USB drive. That's a great idea but I don't have a current installation of git to copy from. I won't have my own computer back for a couple of weeks.
Would you happen to know where I could grab a pre-compiled version of git for OSX? I don't have access to homebrew or... anything really. Ideally I could just grab a zip file from somewhere and dump it on my USB stick.
I've managed to put together a solution based on ideas from several different people (thanks to all of you):
Download the Git binary for Mac OSX from git-scm.com. The downloaded DMG contains a PKG file.
Unpack the PKG file with unpkg or something similar. (This step is necessary because normally PKG files can only be installed with root privileges.)
Drop the etc and git folders that were just unpacked onto your USB stick.
Now, whenever you plug in your USB stick, just make sure to put the location of the git directory on your PATH (like this: export PATH=$PATH:/path/to/git/on/usb/stick) and you'll be good to go!
NOTE: I've tested many of the git commands using this method and most seem to work without any issues. However, git init will complain like this: warning: templates not found /usr/local/git/share/git-core/templates. Not surprising since the templates are actually on your USB stick and not /usr/local. Despite this warning my repos seem to be working just fine.
Add a environmental variable GIT_TEMPLATE_DIR
to quote the documentation
The template directory contains files and directories that will be
copied to the $GIT_DIR after it is created.
The template directory will be one of the following (in order):
the argument given with the --template option;
the contents of the $GIT_TEMPLATE_DIR environment variable;
the init.templatedir configuration variable; or
the default template directory: /usr/share/git-core/templates.
I've uploaded my /usr/bin/git and /usr/bin/git-shell to
http://www.club.cc.cmu.edu/~ajo/disseminate/git
http://www.club.cc.cmu.edu/~ajo/disseminate/git-shell
You can try those, but I have no idea if this approach is likely to work. (There are no interesting shared-library dependencies reported by otool -L, but I don't know what else might theoretically go wrong with the idea.)
FWIW, I use Mac OS X 10.8.2 and git version 1.7.10.2 (Apple Git-33).
Not sure if this is appropriate as an "answer", since I don't plan to leave those links working indefinitely. Maybe I (or someone) can delete this answer in a month or two.
Apple's command line tools for developers include git, I believe. You can find them on http://developer.apple.com/; you might need a free developer account. They package will want to install to /usr/bin etc., but you should be able to use pax to extract the contents wherever you want.

How can I test my vim plugin?

Hi guys : I recently (accidentally) removed all folders/files from my .vim folder in mac os x (home directory).
I am trying to add in the Clojure Vim plugin (VimClojure) - its simply a folder which you are supposed to "drop into .vim/plugins".
I have added it, but I don't see any changes to the syntax highlighting when I launch vim. I'm not sure wether vim "sees" the plugin or not.
I'm on OS X .
Any ideas on how to debug the plugin ? In particular
1) How does VIM look for plugins ?
2) Are there files which need to be in $HOME/.vim/ ?
3) Is it sufficient to simply dump the unzip a new plugin file into $HOME/.vim/plugins when installing a standard vim plugin ?
Thanks
About debugging: in order to see whether vim has loaded your plugin you can use :scriptnames and also breakadd file /path/to/your/plugin (or breakadd file *your_plugin_name.vim: I never used absolute paths so I do not know what breakadd will do in this case). Other questions:
Described in :h initialization, precisely :h load-plugins.
Vim does not need any files at all (except vim executable, used shared libraries, dynamic linker and the kernel of course).
Follow installation instructions. Normally plugins are either extracted to ~/.vim or distributed as a singe file that should go to either ~/.vim/plugin (no s!), ~/.vim/colors, ~/.vim/ftplugin or such. I guess you should try to extract it to ~/.vim/plugin, but if archive contains some special directories like plugin/, ftplugin/, colors/, after/ (see /usr/share/vim/vim73 for a list) it is likely that it should go to ~/.vim. Also consider using vim-addon-manager, if plugin was posted on vim.org VAM is likely to be able to install it.
A few points.
How does vim look for plugins? See :help startup so see where and when vim looks for files to load.
Not really. Anything there is just personal customization. Vim will run fine without a .vim folder.
That all depends on the plugin. It sounds to me like the VimClojure plugin may be a little misleading. Do you have a link to the source you are using?
In any case, the first step I always take when attempting to debug a script is check the output of :scriptnames. This command will show you what scripts vim has loaded for the current session. If you see none of the files shipped with VimClojure, you probably made a mistake during the installation.
Another tip is that you really should look in to using a plugin manager such as vundle or vim-addon-manager, or at least the runtimepath manager pathogen. This seems to be the way of the future for vim configuration these days and it makes installing and managing plugins much easier. They also help to keep your .vim folder clean and organized.
The VimClojure directory should either be extraction on top of your .vim folder, or in a bundle folder if your using something like pathogen (which you should!). If you're starting from scratch, consider starting with vimclojure-easy (not to toot my own horn) which is a basic, full install of VimClojure with instructions.

Installer for a simple Mac OS command-line tool?

How can I build a novice-usable (clickable download) installer for a Mac OS X command-line tool, and where should the binary be installed so that a novice user with no knowledge of shell paths can just open the Terminal app and type "foo" to run the freshly installed foo tool?
Can the installer also install documentation so that the user can type "man foo"?
Are there any other options that should be considered to make the use of a pure command-line (stdin, stdout) tool accessible to a novice Mac user?
What's the minimum version of OS X you're targeting? 10.6 (and IIRC 10.5) include /usr/local/bin in the default PATH, but 10.4 did not. As long as you don't need to support 10.4, you should just put the executable in /usr/local/bin and the man page in /usr/local/share/man/man1 (or whatever the appropriate chapter number is).
For building the installer itself, you can use Apple's PackageMaker utility (part of Xcode). Create a prototype local folder with bin and share/man/man1 subfolders and populate them with your files. Create a package project in PackageMaker, and choose your organization name and minimum target OS. Drag the prototype folder into the project's Contents sidebar. Set the Destination to /usr/local. Switch to the Contents tab and edit the ownership and permissions the files should be installed with (the owner/group should probably all be root/admin, with rwxrwxr-x perms on the folders and executable, rw-rw-r-- on the man page). If any irrelevant files (e.g. .DS_Store) snuck in, exclude them. Look around for any other settings you want to change, then save the project and build the installer. Then test it, to make sure it does what you expect.

Resources