Commit Graph

1472 Commits

Author SHA1 Message Date
Nathan Sobo
ebad961b20 More conversion of FuzzyFinder to a SelectList subclass 2012-10-04 10:26:06 -10:00
Nathan Sobo
2991048c1e SelectList allows list items to be clicked 2012-10-04 10:26:06 -10:00
Nathan Sobo
74c5be4632 Convert more fuzzy finder behavior to inherit from SelectList 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
389552c057 Can trigger an event by clicking it in the list 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
Nathan Sobo
3d79100877 Make the event palette an overlay. 2012-10-04 10:26:06 -10:00
Nathan Sobo
fff0e623d3 Focus the mini-editor on attach 2012-10-04 10:26:06 -10:00
Nathan Sobo
eaaf6fc9f0 Add event-palette. Ctrl-enter brings up a list of all events for focused element
No fuzzy finding just yet. This theme of a fuzzy-filterable list is common enough now that I think I want to extract it. We do it in the fuzzy-finder for buffers and files, as well as the autocomplete menu.
2012-10-04 10:26:05 -10:00
Nathan Sobo
7b1fe94e47 Add $.fn.document, which associates event-listeners with descriptions
`$.fn.events` now returns an array of event-name/description pairs.
2012-10-04 10:26:05 -10:00
Nathan Sobo
96c9f0bc36 Add $.fn.events, which returns a list of all handled events 2012-10-04 10:26:05 -10:00
Kevin Sawicki
23e7139ed1 Auto confirm when only one match exists 2012-10-03 13:55:38 -07:00
Kevin Sawicki
5d86b1e818 💄 2012-10-03 10:03:19 -07:00
Kevin Sawicki
09bf000d8f Select created folder in tree view 2012-10-03 09:49:53 -07:00
Kevin Sawicki
58515b2097 Focus tree view after creating a directory 2012-10-03 08:20:06 -07:00
Kevin Sawicki
189e3be5ae Wrap around fuzzy finder when at top or bottom 2012-10-02 10:39:35 -07:00
Kevin Sawicki
f51c5dffed Include trailing slash when checking for dir segment 2012-10-01 22:50:56 -07:00
Kevin Sawicki
2b3991d74e Use tree-view fixtures dir in tree-view specs 2012-10-01 19:18:13 -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
2bea67057b Add spec for line highlight after backspace 2012-10-01 15:44:58 -07:00
Kevin Sawicki
f2306f444a 💄 2012-10-01 15:44:58 -07:00
Corey Johnson
887720e4de [fail] added failing gutter spec
When you remove a newline with backspace, the background on the gutter line number isn't highlighted. This is to help @kevinsawicki debug the problem.
2012-10-01 15:44:58 -07:00
Corey Johnson
9361b0717c Give gutter line highlighting its own describe 2012-10-01 15:44:58 -07:00
Kevin Sawicki
e039dab0f6 Don't highlight line in mini editor 2012-10-01 15:44:57 -07:00
Kevin Sawicki
a03512fd90 Add line number padding to expected width 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
12a30873cf 💄 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
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
Kevin Sawicki
7506fe7eae Provide default column to getGuideColumn callback 2012-09-29 11:51:32 -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
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
Kevin Sawicki
02fa815459 Highlight the line number of the current cursor row 2012-09-28 09:52:34 -07:00
Corey Johnson & Nathan Sobo
82cecbf042 Add test for situation where we infinitely looped 2012-09-28 09:05:51 -07:00