Commit Graph

1706 Commits

Author SHA1 Message Date
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
Allan Odgaard
734f24552d Update symbol chooser to use OakChooser
Fixes #1160
2013-10-27 20:07:48 +01:00
Allan Odgaard
323577a013 Use window positioning code from OakChooser 2013-10-27 20:04:48 +01:00
Allan Odgaard
100423a8ee Add relative window positioning to OakChooser 2013-10-27 19:55:31 +01:00
Allan Odgaard
e9d60ce7b7 Drop non-singleton support for the file chooser
The main problem was restoring the data source in showWindow: since that would lose state such as selected item.
2013-10-27 19:34:00 +01:00
Allan Odgaard
25307478a1 Improve default implementation of objectValueForTableColumn: 2013-10-27 18:13:28 +01:00
Allan Odgaard
e95ba95ea5 Remove ellipsis from Go to File window title 2013-10-27 16:58:08 +01:00
Allan Odgaard
a18d8bd3e7 Don’t set foreground color for (file) chooser items
Initially not-matched characters were made light gray and we also had to explicitly set the color to white when the item was highlighted.

We no longer use color distinction for matched/non-matched characters, and rendering the text as highlighted is handled by the table view (NSCell setup).
2013-10-27 11:55:59 +01:00
Allan Odgaard
f9349f6981 Enable multi-selection in file chooser
This was accidentally lost in the refactoring.
2013-10-27 11:45:55 +01:00
Allan Odgaard
a05de9fed5 More file chooser refactoring (introduce reusable superclass) 2013-10-27 11:37:27 +01:00
Allan Odgaard
f943a6367a Remove disableHighlight property from NSCell subclass
The desired rendering can be achieved without adding code to NSCell
2013-10-27 11:27:47 +01:00
Allan Odgaard
40d9b239b4 Refactor file chooser (isolate reusable parts) 2013-10-27 11:27:31 +01:00
Allan Odgaard
4c40d6b6b9 Allow opening files by single-clicking text (rather than icon)
This is enabled via: defaults write com.macromates.TextMate.preview fileBrowserSingleClickToOpen -bool true

Closes #187
2013-10-26 12:57:38 +02:00
Allan Odgaard
44cdbc57c6 Move “click to open” logic to cell
This will make it easier to change the logic, since 3 different parts of the file browser depend on it: accepting first responder, selecting items, and single-clicking items.
2013-10-25 23:14:01 +02:00
Allan Odgaard
1d37649c10 Remove instance variables from interface 2013-10-24 21:10:20 +02:00
Allan Odgaard
8c16b160e0 Improve “replace input” command output for column selections
The output will be inserted corresponding to the subsets selected on each line.

If the output has less lines than the column selection then the additional selected lines are cleared.

If the output has more lines than the column selection then the additional output lines are dropped.
2013-10-20 22:29:53 +02:00
Allan Odgaard
3064fb82b4 Change text::range_t → ng::range_t 2013-10-20 19:10:02 +02:00
Allan Odgaard
94230858f8 Abort if unable to reload document
This should be handled better, but previously we would crash due to filling the stack, so better to just immediately abort when we detect the problem, so that we get a better crash report and can see how widespread the issue is.
2013-10-19 23:34:41 +02:00
Allan Odgaard
1c6fd700d0 Catch potential exceptions from loading Cap’n Proto data files
Might fix #1134
2013-10-19 23:24:53 +02:00