Exclude a path from Textmate2's 'command T' - textmate

When pressing command+T (⌘T) to bring up the quick file browser, is there a way (using .tm_properties) to exclude a path from it?

We have a list of the settings on the wiki. The settings you want are excludeInFileChooser & includeInFileChooser.
Note that in r9309 it was changed so that the file must be matched by the include rule to be included.
Addendum: The file chooser and find window both have editable globs in their windows that default to including everything so the note about file having to be matched by an include rule isn't as relevant as it is for the sidebar or generic rules. (The glob in the window is treated as the last include rule applied.)

The wiki page has so-so documentation of this, as well as the syntax for the work is less than ideal when dealing with paths. Here are some snippets, with comments, as to what they are accomplishing.
Maybe this will help
# Exclude image files
exclude = "{$exclude,*.tiff,*.png,*.jpg,*.jpeg}"
# Project should use master as the parent dir
[ "/Volumes/broux/working/{/,**}*"]
projectDirectory = "/Volumes/broux/working/master"

Related

How to apply a prediffer to WinMerge such that it runs on all files in the diff?

TL;DR: How can I automatically apply PrediffLineFilter on all diff results, not manually on only the open file?
WinMerge 2.16.4.0 supports using plugin prediffers to, among things, diff while ignoring items that meet conditions specified with a regular expression*. However it appears you must manually apply the prediff after you perform the diff (huh?) and on each and every individual file if it doesn't match a file filter. The help manual indicates the file filter for PrediffLineFilter.sct is *.txt and gives no guide to changing it.
I have thousands of files where the only difference might be a server name which follows a predictable pattern. (Example: server01, server02, etc.) I have figured out the regex for that pattern and the manual application of PrediffLineFilter after a diff works. But I can't be doing that on thousands of files.
How can I automatically apply PrediffLineFilter on all diff results, not manually on only the open file? I only want to see the files where the differences are meaningful.
*Learned this thanks to WinMerge : how to ignore specific words in a comparison?
In your winmerge installation folder, go to MergePlugins then edit the PrediffLineFilter.sct. Then change the return of get_PluginFileFilters to files you want this plugin to work on. For example you want this plugin to work on html and txt files:
Function get_PluginFileFilters()
get_PluginFileFilters = "\.html$;\.txt$"
End Function
After you have made these changes, select all the files on your folder compare window then right click > Plugin Settings > Prediffer Settings > Auto Prediffer, then refresh.
Btw, in the later versions(2.16.10) you can do this in the Plugin Settings window.

How to show redundant docs on multiple pages in read the docs

In our read the docs project we have a use case where we need to show some specific docs on multiple pages in the same version of docs. As of now, we do this either by one of the following ways
Copy-pasting the content to each page's rst file
Write it in one of the concerned files with a label and use :std:ref: in rest of the files to redirect it to the main file
I would want to achieve something like writing content only in one file and then showing it (without any redirection for user) in each of the files. Is it possible?
Use the include directive in the parent file.
.. include:: includeme.rst
Note that the included file will be interpreted in the context of the parent file. Therefore section levels (headings) in the included file must be consistent with the parent file, and labels in the included file might generate duplicate warnings.
You can use for this purpose the include directive.
Say that you write the text in dir/text.rst.
The following will include in other documents:
..include :: /dir/text.rst
where the path is either relative (then, with no slash) or absolute which is possible in sphinx (doc)
in Sphinx, when given an absolute include file path, this directive
takes it as relative to the source directory

bzr - how to only commit one file pattern

I have a large hierarchical directory structure. I only want to commit files of one type (say *.c) and ignore all the other files. I know how to use .bzrignore to ignore specific file patters.. but is it possible to set something like a .bzrinclude file to only include a specific file pattern ?
Thanks !
Yes, this should be possible because bazaar ignore files support regexes as patterns, using the RE: prefix:
http://doc.bazaar.canonical.com/beta/en/user-reference/patterns-help.html
So you just need to design a regular expression which matches everything except the files you're interested in.

Custom syntax highlighting in Geany

I am trying to create custom syntax highlighting for Kivy '.kv' files in the Geany editor. Although the specific filetype seems irrelavant to the issue I'm having, as any efforts I make at getting syntax highlighting to work for a custom filetype results in a completely non-highlighted file. I believe I have done my homework on this, and nothing seems to work.
I have added the following to ~/.config/geany/filetype_extensions.conf
Kivy=*.kv;
I also have a custom type definition file named 'filetypes.Kivy.conf' in ~/.config/geany/filedefs/. I have tried basing this file off several of the stock type definition files in /usr/share/geany/ and the file never gets any syntax highlighting applied in Geany. Right now, just for experimentation's sake, my 'filetypes.Kivy.conf' file looks like this:
# For complete documentation of this file, please see Geany's main documentation
[settings]
# default extension used when saving files
extension=kv
# single comments, like # in this file
comment_single=#
[keywords]
# all items must be in one line
primary=size canvas
secondary=pos size
[indentation]
width=4
# 0 is spaces, 1 is tabs, 2 is tab & spaces
type=0
This is very loosly based on the stock XML definition file, but like I said I've tried many other stock files. In many cases I only changed the 'extension=' value to kv and still no highlighting was applied, even though going to Document>Set Filetype in Geany and choosing virtually any random filetype (besides my custom entry) would yeild some sort of highlighting within my .kv file. This is even the case when using the unmodified contents of a stock definition which otherwise works fine on my .kv file when specifically selected in Geany!
Also, the Kivy filetype is listed and selected by default in Document>Set Filetype within Geany, so I must be doing something right here!
I realize this similar question has been asked, but the solutions seem irrelavent to my case, as I've tried every related topic on this and many other sites. My Geany version is 1.22 and I'm running Arch Linux. This is driving me nuts - any suggestions?
Thank you!
Set lexer_filetype= property in the [settings] section of your filetype file. Working highlighting requires that there is a lexer that could be used for highlighting the .kv-files.
For more info see http://www.geany.org/manual/#lexer-filetype
There are three important things to obey:
the configuration file should be placed in "~/.config/geany/filedefs"
the configuration file must have the extension ".conf" - otherwise it won't show up at all (the files in "/usr/share/geany/filesdefs", where I copied my base file from, do not have a ".conf" extension!)
you must set the "lexer_filetype" to an existing (presumably builtin) configuration; e.g. "lexer_filetype=Python"

What does it mean when you check on "Recursive" in Header Search Paths

I've been referencing a lot of Projects, and i do it through adding their paths in Header Search Paths.
I've been following the referencing stuffs through the "Referenced Project's" getting Started (like for example including the ZXingWidget).
And I've been doing it a lot now, but I don't understand the checking of recursive.
What does this mean?
When do I check a path for "recursive?"
Thanks
If you give Xcode a path to use for headers, it will check that path when you use an #include or #import statement. If the file isn't there, it quits.
If you have the path set as "recursive", Xcode will search folders it finds there if it doesn't find the file.
Looks like this:
1) Enter your desired path for Header Search Paths, click enter.
2) Double click the path text that you entered.
3) On the right of the dialog box select recursive.
For those wondering, as I was, what the effect of choosing recursive for a Header Search Path is on the compiler command line, it's to generate a -I argument for every directory in the tree rooted at the given path. This can lead to very long compiler command lines which will make looking for anything else in there well nigh impossible. So it's worth considering how many directories are below the path you are specifying if you want to use recursive.
I tried specifying -I../path/to/subproject/** as a Compiler Flag for an individual file but that doesn't work (which is obviously why Xcode does the expansion itself).
(this is true for Xcode 9.4.1)
Xcode Recursive path
When you set a path(e.g. Header Search Paths, Library Search Paths, Framework Search Paths...) you can define a path to one of parent folder and set recursive(/** will be added to the end of the path). For example you can defile a path to a include directory(or more over to a Build directory) with recursive parameter instead of include/<target_name>.
Please note: If the patch contains spaces - , you should escape them using \ or enclose the path in double quotes ""

Resources