I’ve been seeing things where a search gives what I know are incorrect
results, or worse, I’ll go for days thinking I’ve identified all the
references to some string in a project then find out I missed a few. I
think I’ve somewhat figured out how to reproduce it.
Selecting a folder in the File Browser and hitting ⇧⌘F mostly works
as expected, but if the Find dialog is already open, the “In:” field
doesn’t update.
If you perform the search anyway, it seems to sometimes search the
original location (still displayed) and sometimes search what you had
selected in the File Browser, even though that isn’t displayed. I
swear it searches the entire project sometimes as well, but I could be
wrong about that.
In any case, something isn’t quite right. Thanks.
--
Rob McBroom
I updated a PostgreSQL bundle with new keywords for the latest version. As far as I can tell there is no difference except the the new version has quite a few more keywords. But the bundle editor syntax coloring now indicates there are errors after this specification. Is there a string length limit or some other way to fix it? As far as I can tell the bundle is working find and all keywords are recognized.
John DeSoi, Ph.D.
old
<key>match</key>
<string>(?xi)\b(abort|absolute|access|action|add|admin|after|aggregate|all|also|alter|always|analyse|analyze|and|any|array|as|asc|assertion|assignment|asymmetric|at|attribute|authorization|backward|before|begin|between|bigint|binary|bit|boolean|both|by|cache|called|cascade|cascaded|case|cast|catalog|chain|char|character|characteristics|check|checkpoint|class|close|cluster|coalesce|collate|collation|column|comment|comments|commit|committed|concurrently|configuration|connection|constraint|constraints|content|continue|conversion|copy|cost|create|cross|csv|current|current_catalog|current_date|current_role|current_schema|current_time|current_timestamp|current_user|cursor|cycle|data|database|day|deallocate|dec|decimal|declare|default|defaults|deferrable|deferred|definer|delete|delimiter|delimiters|desc|dictionary|disable|discard|distinct|do|document|domain|double|drop|each|else|enable|encoding|encrypted|end|enum|escape|event|except|exclude|excluding|exclusive|execute|exists|explain|extension|external|extract|false|family|fetch|first|float|following|for|force|foreign|forward|freeze|from|full|function|functions|global|grant|granted|greatest|group|handler|having|header|hold|hour|identity|if|ilike|immediate|immutable|implicit|in|including|increment|index|indexes|inherit|inherits|initially|inline|inner|inout|input|insensitive|insert|instead|int|integer|intersect|interval|into|invoker|is|isnull|isolation|join|key|label|language|large|last|lateral|lc_collate|lc_ctype|leading|leakproof|least|left|level|like|limit|listen|load|local|localtime|localtimestamp|location|lock|mapping|match|materialized|maxvalue|minute|minvalue|mode|month|move|name|names|national|natural|nchar|next|no|none|not|nothing|notify|notnull|nowait|null|nullif|nulls|numeric|object|of|off|offset|oids|on|only|operator|option|options|or|order|out|outer|over|overlaps|overlay|owned|owner|parser|partial|partition|passing|password|placing|plans|position|preceding|precision|prepare|prepared|preserve|primary|prior|privileges|procedural|procedure|program|quote|range|read|real|reassign|recheck|recursive|ref|references|refresh|reindex|relative|release|rename|repeatable|replace|replica|reset|restart|restrict|returning|returns|revoke|right|role|rollback|row|rows|rule|savepoint|schema|scroll|search|second|security|select|sequence|sequences|serializable|server|session|session_user|set|setof|share|show|similar|simple|smallint|snapshot|some|stable|standalone|start|statement|statistics|stdin|stdout|storage|strict|strip|substring|symmetric|sysid|system|table|tables|tablespace|temp|template|temporary|text|then|time|timestamp|to|trailing|transaction|treat|trigger|trim|true|truncate|trusted|type|types|unbounded|uncommitted|unencrypted|union|unique|unknown|unlisten|unlogged|until|update|user|using|vacuum|valid|validate|validator|value|values|varchar|variadic|varying|verbose|version|view|volatile|when|where|whitespace|window|with|without|work|wrapper|write|xml|xmlattributes|xmlconcat|xmlelement|xmlexists|xmlforest|xmlparse|xmlpi|xmlroot|xmlserialize|year|yes|zone)\b</string>
new
<key>match</key>
<string>(?xi)\b(abort|absolute|access|aclitem|action|add|admin|after|aggregate|all|also|alter|always|analyse|analyze|and|any|anyarray|anyelement|anyenum|anynonarray|anyrange|array|as|asc|assertion|assignment|asymmetric|at|attach|attribute|authorization|backward|before|begin|between|bigint|binary|bit|bool|boolean|both|box|bpchar|by|bytea|cache|call|called|cascade|cascaded|case|cast|catalog|chain|char|character|characteristics|check|checkpoint|cid|cidr|circle|class|close|cluster|coalesce|collate|collation|column|columns|comment|comments|commit|committed|concurrently|configuration|conflict|connection|constraint|constraints|content|continue|conversion|copy|cost|create|cross|cstring|csv|cube|current|current_catalog|current_date|current_role|current_schema|current_time|current_timestamp|current_user|cursor|cycle|data|database|date|daterange|day|deallocate|dec|decimal|declare|default|defaults|deferrable|deferred|definer|delete|delimiter|delimiters|depends|desc|detach|dictionary|disable|discard|distinct|do|document|domain|double|drop|each|else|enable|encoding|encrypted|end|enum|escape|event|event_trigger|except|exclude|excluding|exclusive|execute|exists|explain|extension|external|extract|false|family|fdw_handler|fetch|filter|first|float|float4|float8|following|for|force|foreign|forward|freeze|from|full|function|functions|generated|global|grant|granted|greatest|group|grouping|groups|gtsvector|handler|having|header|hold|hour|identity|if|ilike|immediate|immutable|implicit|import|in|include|including|increment|index|index_am_handler|indexes|inet|inherit|inherits|initially|inline|inner|inout|input|insensitive|insert|instead|int|int2|int2vector|int4|int4range|int8|int8range|integer|internal|intersect|interval|into|invoker|is|isnull|isolation|join|json|jsonb|jsonpath|key|label|language|language_handler|large|last|lateral|leading|leakproof|least|left|level|like|limit|line|listen|load|local|localtime|localtimestamp|location|lock|locked|logged|lseg|macaddr|macaddr8|mapping|match|materialized|maxvalue|method|minute|minvalue|mode|money|month|move|name|names|national|natural|nchar|new|next|no|none|not|nothing|notify|notnull|nowait|null|nullif|nulls|numeric|numrange|object|of|off|offset|oid|oids|oidvector|old|on|only|opaque|operator|option|options|or|order|ordinality|others|out|outer|over|overlaps|overlay|overriding|owned|owner|parallel|parser|partial|partition|passing|password|path|pg_attribute|pg_auth_members|pg_authid|pg_class|pg_database|pg_ddl_command|pg_dependencies|pg_lsn|pg_mcv_list|pg_ndistinct|pg_node_tree|pg_proc|pg_shseclabel|pg_subscription|pg_type|placing|plans|point|policy|polygon|position|preceding|precision|prepare|prepared|preserve|primary|prior|privileges|procedural|procedure|procedures|program|publication|quote|range|read|real|reassign|recheck|record|recursive|ref|refcursor|references|referencing|refresh|regclass|regconfig|regdictionary|regnamespace|regoper|regoperator|regproc|regprocedure|regrole|regtype|reindex|relative|release|rename|repeatable|replace|replica|reset|restart|restrict|returning|returns|revoke|right|role|rollback|rollup|routine|routines|row|rows|rule|savepoint|schema|schemas|scroll|search|second|security|select|sequence|sequences|serializable|server|session|session_user|set|setof|sets|share|show|similar|simple|skip|smallint|snapshot|some|sql|stable|standalone|start|statement|statistics|stdin|stdout|storage|stored|strict|strip|subscription|substring|support|symmetric|sysid|system|table|table_am_handler|tables|tablesample|tablespace|temp|template|temporary|text|then|tid|ties|time|timestamp|timestamptz|timetz|to|trailing|transaction|transform|treat|trigger|trim|true|truncate|trusted|tsm_handler|tsquery|tsrange|tstzrange|tsvector|txid_snapshot|type|types|unbounded|uncommitted|unencrypted|union|unique|unknown|unlisten|unlogged|until|update|user|using|uuid|vacuum|valid|validate|validator|value|values|varbit|varchar|variadic|varying|verbose|version|view|views|void|volatile|when|where|whitespace|window|with|within|without|work|wrapper|write|xid|xml|xmlattributes|xmlconcat|xmlelement|xmlexists|xmlforest|xmlnamespaces|xmlparse|xmlpi|xmlroot|xmlserialize|xmltable|year|yes|zone)\b</string>
I've been using TextMate for years and I'm productive and happy with it. However, I like to try other editors from time to time to see if I'm missing anything. Recently I spent some time learning Vim and I discovered a few things that I particularly liked.
1) Split windows -- not the kind of split windows you normally get in Mac applications, but the Vim style ones. In Vim you can easily navigate from the keyboard to your different splits and choose what files to display in each. Additionally, you don't have to reach for your mouse to create a split. When you split, Vim divides the space up for you which is what you want most of the time. I found that it is very handy when needing to view more than 1 file at a time, which in my case is most of the time. Closing splits is about as easy as they are to create -- all from the keyboard. Multiple windows isn't really the same thing because they are slow to setup and tear down.
2) Selective multifile grep -- in Vim you can use a regular expression to open a set of files, and then just grep across the open files.
3) Don't need arrow keys -- after years of editing with the mouse; I find it painful to reach for it. It hurts my right shoulder and shoulder blade. It even hurts to have to move my hand down to the arrow keys. However, in Vim it is easy to keep your hands resting on your keyboard with your shoulders relaxed. No reaching for the mouse or arrow keys.
TextMate 1 or 2, is there a way to auto-highlight all occurrences of
selected word?
I was from Windows using EditPlus, when I double-click or Ctrl+W to select
a word, EditPlus is able to automatically highlight all occurrences in a
different background colour, very nice and useful feature.
With TextMate I have to additionally hit Opt+Cmd+F, and highlighting colour
is same as selected word, not eye-catching. I use 'soft' and light
background for selection background but I prefer bright background (eg
yellow) for highlighted words.
Ctr-S not really meets what I need.
Thanks.
--
Sent from my mobile. Ignore the typos unless they're funny.
What is the newest macOS version that will run (or “support") TextMate 1.5[.11 (1635)]?
(Reason to ask: I never bothered to update my customized LaTeX bundle to TextMate 2, shame on me!)
Is there a version of TM2 that runs on macOS 10.11.6? I have an older computer and that is the newest OS supported by Apple. I don’t yet feel like buying a new computer just run a particular program.
Jerry
[OT minirant]
My late 2008 MacBook Pro has the following features missing on recent models:
* Keys that move when you strike them.
* Keys that never, ever, jam or stick or fail to record a strike.
* Replaceable RAM. I have doubled my RAM twice. It’s super easy.
* Replaceable battery. I have replaced it twice. It’s super easy.
* Replaceable hard drive. I replaced the original with a SSD. It’s super easy.
* An ExpressCard 32 slot by which I do nightly backups to cycled micro SD cards.
* Wired ethernet; WiFi is considerably slower, as my ISP explained in a lengthy note.
* Audio in. I use it nearly daily.
* MagSafe power connector.
* Theft prevention attachment slot.
* DVD drive. (OK, I’ll grant that one might be obsolete but I still rip CDs.)
Is there a way to have a file type automatically use a different theme that is not the default one?
If I create a language bundle and include a theme, is there a setting to make the language files default to the theme included with the bundle?
Thanks,
John DeSoi, Ph.D.
Hi,
Because I can't keep my hands off utilities and am on a constant quest to understand development processes, I attempted to clone the latest git
repository and build TextMate. It seems that everything goes well until I reach the part where I build the actual executable, and get the following
errors:
[1/1] Generate ‘build.ninja’…
[159/923] Compile xib ‘Frameworks/OakAppKit/resources/English.lproj/CustomizeEncodings.xib’…
FAILED: /Users/Greg/build/TextMate/Frameworks/OakAppKit/resources/English.lproj/CustomizeEncodings.nib
xcrun ibtool --errors --warnings --notices --output-format human-readable-text --minimum-deployment-target 10.12 --compile
/Users/Greg/build/TextMate/Frameworks/OakAppKit/resources/English.lproj/CustomizeEncodings.nib
Frameworks/OakAppKit/resources/English.lproj/CustomizeEncodings.xib
xcrun: error: unable to find utility "ibtool", not a developer tool or in PATH
[161/923] Compile xib ‘'Frameworks/OakAppKit/resources/English.lproj/Pasteboard Selector.xib'’…
FAILED: /Users/Greg/build/TextMate/Frameworks/OakAppKit/resources/English.lproj/Pasteboard Selector.nib
xcrun ibtool --errors --warnings --notices --output-format human-readable-text --minimum-deployment-target 10.12 --compile
'/Users/Greg/build/TextMate/Frameworks/OakAppKit/resources/English.lproj/Pasteboard Selector.nib'
'Frameworks/OakAppKit/resources/English.lproj/Pasteboard Selector.xib'
xcrun: error: unable to find utility "ibtool", not a developer tool or in PATH
[162/923] Compile xcassets ‘Frameworks/OakAppKit/resources/OakAppKit.xcassets’…
FAILED: /Users/Greg/build/TextMate/Frameworks/OakAppKit/resources/Assets.car
xcrun actool --errors --warnings --notices --output-format human-readable-text --platform macosx --minimum-deployment-target 10.12 --compile
"$(dirname /Users/Greg/build/TextMate/Frameworks/OakAppKit/resources/Assets.car)" Frameworks/OakAppKit/resources/OakAppKit.xcassets
xcrun: error: unable to find utility "actool", not a developer tool or in PATH
ibtool and actool exist in /usr/bin and also a link to /usr/local/bin, both of which are in my shell path. I enter 'which ibtool' from the shell and
it can find the tool. Is there another path needed for the build which I don't have set? Generally Homebrew builds compile and run OK on my system...
--
| Greg Dunn | this is slowly taking me apart. |
| gregdunn(a)indy.net | grey would be the color if i |
| The Sultan of Slack(tm) | had a heart. |
| http://www.indy.net/~gregdunn/ | Trent Reznor |
I am using AS3 Bundle.
There is a difference between how the indentation rules work with TM1.5 and TM2.0.
In TM2.0 a new indent is applied each time I type a carriage return - where there was no ending ‘;'
In TM1.5 is lined up with the previous line - even where there was no ending ‘;’
The new behaviour (TM2) is quite annoying and really slows down my work, as I do not use the optional ‘;’ in as3.
I have checked the AS3 bundle rules on TM1.5 and TM 2.0 and they are the same.
Why is it different, or rather how can I fix it, please?
These are the rules. They are the same, just in a different order – and I have swapped order to see if it makes any difference. it does not.
//IN TM1.5
{
decreaseIndentPattern = '^(.*\*/)?\s*\}([^}{"'']*\{)?[;\s]*(//.*|/\*.*\*/\s*)?$|^\s*(public|final|dynamic|internal):\s*$';
increaseIndentPattern = '^.*\{[^}"'']*$|^\s*(public|final|dynamic|internal):\s*$';
indentNextLinePattern = '^(?!(.*[};:])?\s*(//|/\*.*\*/\s*$)).*[^\s;:{}]\s*$';
}
//in TM2
{ increaseIndentPattern = '^.*\{[^}"'']*$|^\s*(public|final|dynamic|internal):\s*$';
decreaseIndentPattern = '^(.*\*/)?\s*\}([^}{"'']*\{)?[;\s]*(//.*|/\*.*\*/\s*)?$|^\s*(public|final|dynamic|internal):\s*$';
indentNextLinePattern = '^(?!(.*[};:])?\s*(//|/\*.*\*/\s*$)).*[^\s;:{}]\s*$';
}
Hello
I’ve noticed a strange bug in Textmate when using an artist's Wacom Tablet.
Sometimes if I quickly click on a tab to select it, and the stylus moves slightly (as if the tab is only dragged a few pixels), the tab clicked becomes light in color and gets stuck. All tabs in the window become non-functional at that point, no text can be selected, other windows can be brought to the front but they are also frozen short of being draggable.
Quitting the app and restarting fixes it.
It's an easily reproducible problem if you have a tablet to test with.
Just felt I should point it out so maybe you guys can fix it.
Thanks