Nathan Sobo
eced862902
Add select-list keymap that handles up/down/confirm/cancel
...
This means these bindings can be removed from the fuzzy finder keymap
2012-10-04 10:26:07 -10:00
Nathan Sobo
1e9b40a6ea
Select the first list item after changing the list filter
2012-10-04 10:26:07 -10:00
Nathan Sobo
2991048c1e
SelectList allows list items to be clicked
2012-10-04 10:26:06 -10:00
Nathan Sobo
7f3165fa7b
When the select list is cancelled or its editor loses focus, it detaches itself
2012-10-04 10:26:06 -10:00
Nathan Sobo
6450b6c96f
Select list wraps around when handling move-up / move-down events
2012-10-04 10:26:06 -10:00
Nathan Sobo
149889abfc
Start converting fuzzy finder to a subclass of SelectList
2012-10-04 10:26:06 -10:00
Nathan Sobo
9e6fc44d39
SelectList handles 'core:confirm' and 'core:cancel' events
2012-10-04 10:26:06 -10:00
Jerry Cheung & Nathan Sobo
b5cb125b7f
Select list scrolls to selected item on move-up/move-down
2012-10-04 10:26:06 -10:00
Jerry Cheung & Nathan Sobo
a3f25fbc9b
Start on SelectList, a common base class for filterable lists
...
Like autocompleter, fuzzy-finder, and event palette
2012-10-04 10:26:06 -10:00
Nathan Sobo
0ecdabb023
Pressing enter emits an event on the previously focused element
2012-10-04 10:26:06 -10:00
Nathan Sobo
1b013cc029
Add ability to move through select list and 'event-palette:cancel' event
2012-10-04 10:26:06 -10:00
Kevin Sawicki
282802ac6c
Scroll auto complete view with editor window
2012-10-02 12:51:06 -07:00
Kevin Sawicki
b7f32036c2
Change editor-selection-change event name to selection-change
2012-10-01 15:44:58 -07:00
Kevin Sawicki
edfd61c702
Remove unneeded class addition
2012-10-01 15:44:58 -07:00
Kevin Sawicki
41cdf130fb
Update highlighted line when editor selection changes
2012-10-01 15:44:58 -07:00
Kevin Sawicki
c7361d487f
Update cursor line when selection screen range changes
2012-10-01 15:44:58 -07:00
Kevin Sawicki
f2306f444a
💄
2012-10-01 15:44:58 -07:00
Kevin Sawicki
0059accaa4
Access correct editor mini variable
2012-10-01 15:44:58 -07:00
Kevin Sawicki
350e1a22da
Add missing space in class name
2012-10-01 15:44:58 -07:00
Corey Johnson
d5b1146b9b
Only call gutter.afterAttach once
2012-10-01 15:44:57 -07:00
Kevin Sawicki
e039dab0f6
Don't highlight line in mini editor
2012-10-01 15:44:57 -07:00
Kevin Sawicki
f87b186538
Add highlight to new line html builder
2012-10-01 15:44:57 -07:00
Kevin Sawicki
a4ad5829a5
Disable gutter background highlight on multiline selections
2012-10-01 15:44:57 -07:00
Kevin Sawicki
33abaff747
Don't highlight line if selection is multiline
2012-10-01 15:44:57 -07:00
Kevin Sawicki
d69e08a858
Use screen rows for line highlight
2012-10-01 15:44:57 -07:00
Kevin Sawicki
2de14a701f
Set width to 0 on tester element
2012-10-01 15:44:57 -07:00
Corey Johnson & Kevin Sawicki
b1138601fc
Use gutter number padding when calculating gutter width
2012-10-01 15:44:57 -07:00
Corey Johnson & Kevin Sawicki
e15694bb41
No longer cache cursorScreenRow in gutter highlighting
2012-10-01 15:44:57 -07:00
Corey Johnson & Kevin Sawicki
2863d92ce3
Use screen position for gutter highlighting
2012-10-01 15:44:57 -07:00
Corey Johnson & Nathan Sobo
2c763a4d48
💄
2012-10-01 15:44:56 -07:00
Kevin Sawicki
be8120e8c6
Add initial support for line highlighting
2012-10-01 15:44:56 -07:00
Kevin Sawicki
6412cde7a8
Support guide column callback function
...
This allows a config function to be registered
in the atom.coffee file to support different wrap
guide columns depending on the type of file being
viewed.
2012-09-29 11:44:05 -07:00
Nathan Sobo
4e49fbec72
TextMate grammars can include other grammars
2012-09-28 17:28:40 -06:00
Nathan Sobo
3a8fe2b24e
Spans have a class for each dot-separated portion of their token's scope
...
Previously, we were rendering every prefix of the dot-separated scope as its own class. So the scope meta.delimiter.method.period.coffee would make a token w/ classes:
class="meta, meta-delimiter, meta-delimiter-method, meta-delimiter-method-period…"
Now we just give the token each piece of the scope as a class:
class="meta delimiter method period coffee"
We lose a bit of meaning, in that a scope selector method.period.coffee would match this element in CSS even though it *wouldn't* in TextMate. But we also gain the behavior where longer prefixes are more specific by naturally producing more specific css selectors. So '.meta.delimiter.method' is always more specific than '.meta.delimiter', whereas '.meta-delimiter-method' ties with '.meta-delimiter'.
If prefix ambiguities become a problem later we may need to revisit this approach, but I think it's good enough for now.
2012-09-28 17:00:31 -06:00
Nathan Sobo
5ad6c67e07
Round alpha channel in TextMate theme rgba colors to 2-decimal places
2012-09-28 16:43:02 -06:00
Nathan Sobo
4ba5ccb0fa
Properly translate hex colors from TextMate themes to rgba (divide alpha by 255)
2012-09-28 14:06:10 -06:00
Nathan Sobo
7c9f50209f
HTML escape line text
2012-09-28 13:46:15 -06:00
Nathan Sobo
3ebd7cfef1
Output nested spans so that scope selector specificity translates better to CSS
...
The tokenizer emits individual tokens with arrays of scopes, rather than a more tree-like structure. It's debatable whether we want to emit scope trees rather than token streams in general, though that might complicate things like line wrapping. For now, we're reconstructing the tree during rendering based on information that's implicit in the tokens.
2012-09-28 13:36:43 -06:00
Corey Johnson & Nathan Sobo
bebfaed69b
wip: creating token spans
2012-09-28 13:36:43 -06:00
Corey Johnson & Nathan Sobo
875852d1de
logCursorScope works properly
2012-09-28 13:36:43 -06:00
Kevin Sawicki
f2cc859a4c
Always store cursor row as a buffer row
...
Previously the buffer vs. screen row difference
was causing the highlight to not always be present
2012-09-28 11:52:40 -07:00
Kevin Sawicki
6b8963781b
Add cursor class if row is already selected
2012-09-28 11:30:56 -07:00
Kevin Sawicki
02768fa68d
Refer to instance cursorRow variable
2012-09-28 10:30:13 -07:00
Kevin Sawicki
c2417bfc46
Initialize firstScreenRow to -1
2012-09-28 09:54:30 -07:00
Kevin Sawicki
02fa815459
Highlight the line number of the current cursor row
2012-09-28 09:52:34 -07:00
Corey Johnson & Nathan Sobo
2722fe7d72
Rename stack to ruleStack
2012-09-28 09:41:04 -07:00
Corey Johnson & Nathan Sobo
3a66aab59d
getLineTokens must clone the ruleStack
2012-09-28 09:40:06 -07:00
Corey Johnson & Nathan Sobo
ae4db9d238
💄
2012-09-28 09:36:37 -07:00
Corey Johnson & Nathan Sobo
66ac4503a7
Return empty token array for zero-length matches
2012-09-28 09:31:15 -07:00
Corey Johnson & Nathan Sobo
255e58b4f8
Remove unnecessary Array coercion
2012-09-28 09:06:41 -07:00