Commit Graph

824 Commits

Author SHA1 Message Date
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