Commit Graph

1724 Commits

Author SHA1 Message Date
Allan Odgaard
32ce648224 Clicking a folded range will now unfold it 2013-12-20 09:56:53 +07:00
Allan Odgaard
bc56cc240f Add API to unfold a range
The function will unfold anything completely within the range that also touches one of the range’s end points.

This is because the layout will show adjoining folded ranges as a single image, so if the user clicks this, it is unclear which of the ranges to actually unfold (the layout return a range that encompass all the adjoining folds).
2013-12-20 09:55:29 +07:00
Allan Odgaard
43d3ead3e3 Add API to get folded range for a point
This is required to show tool tips when hovering a fold marker or to unfold the fold marker clicked.
2013-12-20 09:13:48 +07:00
Allan Odgaard
c94f6d8555 Improve “you are recording a macro” dialog
Rather than tell the user how to stop recording, we now offer it as an option.
2013-12-19 18:58:55 +07:00
Allan Odgaard
5bbbed72e5 Saving file with missing parent asks if it should be created 2013-12-14 14:37:55 +07:00
Allan Odgaard
1f57336da8 Log error when mkdir() fails 2013-12-14 14:22:15 +07:00
Allan Odgaard
0a21664f6d Replace iterate macro with new for loop (C++11)
Also use emplace_back a few places.
2013-12-14 13:12:45 +07:00
Allan Odgaard
45db36234c File path settings now rank higher than scope settings
A file setting like “src/*.cc” is arguably more specific (and thus more local) than targeting the scope “source.c++”, so it makes sense that the file settings rank higher than scope settings.

Some users also find it natural to target file extensions over scopes, but as TM will store some learned settings with a scope selector, it would previously lead to confusion, when a user was unable to e.g. change tab size for “*.php” (because TM had a learned setting for “source.php”).
2013-12-14 12:57:24 +07:00
Allan Odgaard
7d91fd8322 Allow fractional font sizes.
Closes #1125
2013-12-14 12:10:05 +07:00
Allan Odgaard
a5fe5d929d Opening a file with unused project UUID will create a new window
This can be used to force a file to open in a new window, e.g.:

    TM_PROJECT_UUID=$(uuidgen) mate README.md

Likewise, it can be used to force multiple invocations of mate to use the initially opened window (by re-using the UUID).

Closes #879
2013-12-12 16:58:32 +07:00
Allan Odgaard
c2bb5253ef Ensure text view find operations use values from the UI
We already commit the values when focus is lost, but it’s possible to initiate a find operation while focus is still in the find dialog text fields (via the menu).

Fixes #1183
2013-12-12 14:45:05 +07:00
Allan Odgaard
9f07942e09 Use dynamic menu titles for most toggle items
Closes #935
2013-12-12 13:36:16 +07:00
Adam Strzelecki
2a6b37c1a3 Remember window zoom state and regular window frame
This fixed problem when closing TM2 with zoomed window, then unzooming window
after restart caused invalid window placement.
2013-12-03 09:50:39 +07:00
Allan Odgaard
b568f2e788 Handle dropping CR delimited text
Also filter malformed UTF-8 sequences from dropped text.
2013-11-28 17:07:55 +07:00
Allan Odgaard
3c99a69398 Only enable “file” services for file browser context menu
The services support in the file browser was mainly added to allow Quicksilver to grab the selection, I do not recall if this is why the selection was (also) made available as a regular string (in addition to the “file names pasteboard type”).
2013-11-28 13:48:03 +07:00
Ronald Wampler
e5841fe34f Add query component to scm URL
Previously when constructing a scm URL from a path, if scm was not enabled
we returned a file URL. This could result in some unexpected behavior.
For instance, when a directory was selected in the file browser,
activating "SCM Status" would just open the untracked directory.
This patch, insteads, adds a query to the scm URL that can be parsed to
determine how to handle the scm status request later on.
2013-11-28 13:48:03 +07:00
Allan Odgaard
888ccbed16 Remove use of NSPointToCGPoint
This is not required when building in 64 bit mode or when defining NS_BUILD_32_LIKE_64.
2013-11-18 22:43:50 +07:00
Boris Dušek
22a5dc1413 Support getting AXVisibleCharacterRange accessibility attribute 2013-11-15 18:14:03 +07:00
Boris Dušek
c7fbcf06ed Fix accessibility visual bounds ending at line boundary
Accessibility visual bounds for a range of a single softline should always
be also visually restricted to the softline. This is in order to be consistent
with implementation in Apple's apps (e.g. TextEdit).
2013-11-15 17:58:28 +07:00
Boris Dušek
9f68cb416c Use softlines instead of hardlines for accessibility
Fixes #1149.

VoiceOver expects AXLineForIndex and AXRangeForLine to be consistent with
the movement by line using arrow up/down. That means it expects "line"
to mean softline.

VoiceOver also distinguishes commands to move by:
* paragraph (hardline): VO-Shift-PgUp/PgDown
* line (softline): VO-up/down

These are available when interacting with the text area (VO-Shift-down).

This commit therefore fixes the AXLineForIndex and AXRangeForLine
to make "line" mean "softline" instead of "hardline" as was the case
until now.
2013-11-15 17:58:18 +07:00
Boris Dušek
e0298cf29c Provide conversions between softlines and buffer positions 2013-11-15 17:58:11 +07:00
Boris Dušek
b8cad485d9 Track softline count in layout 2013-11-15 17:04:50 +07:00
Boris Dušek
5dcca0996c Support text links with VoiceOver
Now links in text (e.g. links to RFCs after installing the Hyperlink Helper bundle)
are announced as such with VoiceOver and it is possible to search for them with
VO-Cmd-L.

TODO:

* launching links with VO-Space is not supported yet, but Enter (Fn-Return)
  does the same thing and is even more reliable.
* link URL is not supported, so it is not possible to learn the URL
  with VO-Shift-U.
2013-11-15 16:09:02 +07:00
Allan Odgaard
6a0ab432cb Show warning if undo will delete non-empty document
Closes #1197
2013-11-15 13:53:04 +07:00
Allan Odgaard
f2d5d0c143 Allow home/end in filter lists
This goes to the first/last item and can be reached with fn-←/→ on laptop keyboards.
2013-11-08 00:44:25 +01:00
Allan Odgaard
d843225d81 Lines increasing and decreasing indent no longer go below zero
Normally a line matched by both patterns will be decreased by one unit compared to the non-ignored lines immediately above and below. If however the line above was not indented, the line would in theory be decreased to -1 and thus just go back to zero indent for the line following it.
2013-11-08 00:38:53 +01:00
Allan Odgaard
8f90f8f602 Defensive programming
Seeing a common crash on quit which might be due to drawRect: being called when the OakTextView is in a partially destroyed state.
2013-11-04 14:09:27 +01:00
Allan Odgaard
30802bf4c7 Guard against fileSystemRepresentation returning nil 2013-11-04 14:00:55 +01:00
Allan Odgaard
1de5d90475 Set hugging priority for horizontal dividers
In the HTML output window’s status bar, the divider was taking up too much space (on 10.9).
2013-11-04 01:12:04 +01:00
Allan Odgaard
2df3118e34 Do not set window as opaque when gutter background is transparent
Previously only the text view’s background would affect the window’s opaque property, which made it impossible to have a solid text view background with a transparent gutter.
2013-11-03 20:37:48 +01:00
Allan Odgaard
ff14e818bc Add gutter_styles_t::is_transparent 2013-11-03 20:37:48 +01:00
Allan Odgaard
93e00f42b1 Fix potential missing last line in encoding view
This would happen if last line was not newline terminated.

The fix does not take into consideration that last line might contain non-ASCII, in which case it should be highlighted.
2013-11-03 20:37:48 +01:00
Allan Odgaard
7402a7835b Opt out of responsive scrolling
With responsive scrolling we need to return NO from isOpaque in order to get transparency and we cannot overload the scrollWheel: method (which we use to forward mouse events from the gutter to the text area).

I have also received a few crash reports that might be caused by responsive scrolling and one user has reported “sticky” scroll behavior.

So for now better just disable it, and see if it fixes all these issues.

Fixes #1135
2013-11-03 20:37:48 +01:00
Allan Odgaard
c53b0cf42d Full paths on search clipboard are made relative to file chooser base 2013-11-03 20:37:34 +01:00
Allan Odgaard
0d17cc731f Handle CRLF delimited clipboard data 2013-10-31 18:32:16 +01:00
Allan Odgaard
bc4650f2b0 Move line ending support to text framework 2013-10-31 18:32:16 +01:00
Allan Odgaard
03c91f5ab7 Add assertion 2013-10-31 17:27:15 +01:00
Allan Odgaard
1d0428383f Parse theme colors using 8-bit notation (#RGB)
This is to improve interoperability, as some themes (not produced by TextMate 1.x’s theme editor) use this shorter notation.
2013-10-31 17:27:15 +01:00
Allan Odgaard
798961da6b Handle themes with invalid foreground/background color
Fixes #1179
2013-10-31 17:27:14 +01:00
Allan Odgaard
3683af25a9 Allow using globs in Go to File
Globs are identified by containing at least one asterisk.
2013-10-31 17:27:14 +01:00
Allan Odgaard
a8d494ecdd Remove support for extension filtering (Go to File)
This mode probably did more harm than good — instead we’ll introduce a glob match mode activated by using an asterisk in the filter string, which will then be able to achieve the same.
2013-10-31 17:27:14 +01:00
Allan Odgaard
12288b72ff Re-arrange code 2013-10-31 17:27:14 +01:00
Allan Odgaard
908ca3f5ab Allow zooming icon animation to be disabled
To disable, run the following in a terminal: defaults write com.macromates.TextMate.preview fileBrowserOpenAnimationDisabled -bool YES

Closes #109
2013-10-30 21:50:07 +01:00
Allan Odgaard
e16bacb6f9 Loosen rules about tab trigger boundaries
Previously the character before the potential tab trigger had to be of a different character class. This is now only required when the first character of the tab trigger is a word character.
2013-10-30 21:35:08 +01:00
Allan Odgaard
7b0e92376c Add “wordCharacters” as a scoped setting
Set this to a string of which characters should be added to the set of word characters.
2013-10-30 21:16:20 +01:00
Allan Odgaard
7c4325bbe9 Change class name: FileChooserSymbolItem → SymbolChooserItem 2013-10-28 23:43:39 +01:00
Allan Odgaard
cd9dddf212 Use relative path in Go to File’s status bar 2013-10-28 23:16:05 +01:00
Allan Odgaard
56e2d8b176 Make OakAbbreviations public 2013-10-28 23:03:50 +01:00
Allan Odgaard
5e94c0b5c0 Make CreateAttributedStringWithMarkedUpRanges public 2013-10-28 21:21:52 +01:00
Allan Odgaard
07afbd883b Tweak layout spacing 2013-10-28 21:20:40 +01:00