Commit Graph

56 Commits

Author SHA1 Message Date
Kevin Sawicki
5bf951d96f Create ScrollView super class
Binds support for page up, page down, move to top,
and move to bottom in the initialize method.
2012-10-12 09:21:35 -07:00
Kevin Sawicki
37f454aece Support core up/down events in preview list 2012-10-09 10:41:57 -07:00
Nathan Sobo
c09f7ebc60 Fix the command panel's handling of move-up/move-down
Forgot to add the core: prefix to this area
2012-10-05 10:55:55 -10:00
Corey Johnson
8328875021 Regex searches are case-sensitive if any letter is capitalized.
Fixes bug introduced in commit aa3f674948
2012-09-25 18:35:44 -07:00
Corey Johnson
aa3f674948 Regex's in the command panel are treated as case-insensitive if there are no non-escaped letters in the pattern
/hello becomes /hello/i
/he\Slo becomes /he\Slo/i
/Hello/i becomes /Hello/i
/Hello/ becomes /Hello/
2012-09-25 17:21:35 -07:00
Kevin Sawicki
ea77b60b15 Serialize command panel history
Retains up to 100 commands between reloads
2012-09-20 14:06:12 -07:00
Nathan Sobo
c3e748a17c WIP: Use rake to start compiling resources (like require.coffee) 2012-08-26 16:29:46 -05:00
Nathan Sobo
c2c8724ad0 Initial commit 2012-08-10 13:32:19 -06:00
Nathan Sobo
8b743b90a2 Bugfix: Don't clear selections after running an x command w/ no matches
Operations now return a range to select rather than actually performing a selection in `execute`. This allows the composite command to aggregate all ranges to select and only change the selection if it's non empty. Before we had to clear the selections ahead of time and then rely on each operation to imperatively add its selection. This is easier to control. It also ensures that when we execute a previewed operation, we don't add a selection but instead change the selection.
2012-07-26 11:53:03 -06:00
Nathan Sobo
dcc1193b49 Preserve focus state of command panel's mini-editor on refresh 2012-07-26 11:26:38 -06:00
Nathan Sobo
1886b2a48e Merge branch 'master' of github.com:github/atom into global-find
Conflicts:
	spec/app/buffer-spec.coffee
	spec/extensions/command-panel-spec.coffee
	spec/extensions/tree-view-spec.coffee
	src/app/buffer.coffee
	src/extensions/command-panel/command-panel.coffee
	src/extensions/command-panel/keymap.coffee
2012-07-25 13:38:12 -06:00
Nathan Sobo
7270758a9e Focus the active editor after executing a previewed operation 2012-07-25 13:26:57 -06:00
Nathan Sobo
454557b502 Merge branch 'master' into global-find
Conflicts:
	spec/extensions/command-panel-spec.coffee
	src/app/buffer.coffee
	src/extensions/command-panel/command-panel.coffee
	src/extensions/command-panel/keymap.coffee
2012-07-24 17:59:49 -06:00
Nathan Sobo
09114b5a1d Command panel no longer overlays editors, but pushes them up w/ flexbox. YES! 2012-07-24 17:34:28 -06:00
Nathan Sobo
c493272be1 Fix click behavior when the event target is a child of the li instead of the li 2012-07-23 20:12:06 -06:00
Nathan Sobo
da7e1b0509 Meta-w on the preview list closes the command panel, not the entire window 2012-07-23 19:32:46 -06:00
Nathan Sobo
a2522f9b19 Clicking on previewed operations selects their buffer range in active editor 2012-07-23 19:25:29 -06:00
Nathan Sobo
94251a2fad Only store operations to preview on the PreviewList 2012-07-23 19:11:36 -06:00
Nathan Sobo
5659f9bab1 Destroy preview list's previous operations when populating new ones 2012-07-23 19:05:37 -06:00
Nathan Sobo
c3c4e07a3f Pressing 'enter' on a global search operation selects it in the active editor 2012-07-23 18:16:37 -06:00
Nathan Sobo
8f0c8633f8 Move-up / move-down on command panel change the selected operation 2012-07-23 15:01:03 -06:00
Nathan Sobo
9d938d84ad Test the 'command-panel:focus-preview' event directly
This is more tidy, breaking out all the cases into a describe hierarchy. The previous test was kinda tacked on in an odd spot.
2012-07-23 12:59:06 -06:00
Nathan Sobo
318ddd8148 Ctrl-2 & ctrl-0 mediate visibility focus of command-panel and the preview list
If the command panel is toggled with ctrl-2, then the preview list will show and become focused. If it's toggled with ctrl-0, the preview list won't be shown. But if it's already showing, focus will just switch to the editor, leaving it visible. It's kind of hard to explain but feels intuitive to me to use.
2012-07-23 12:19:54 -06:00
Nathan Sobo
a0e3ce5f1c Merge branch 'master' into global-find
Conflicts:
	spec/extensions/command-panel-spec.coffee
2012-07-23 11:33:26 -06:00
Nathan Sobo
ab47df1987 Make command-panel sticky like tree view is (fit into the "tool panel" scheme)
Esc on the command panel just moves focus back to the editor. Ctrl-0 will move focus back to the panel if it is open but not focused.
2012-07-23 11:29:52 -06:00
Nathan Sobo
4f401b2ada 💄 2012-07-20 19:11:40 -06:00
Nathan Sobo
091b47a5d3 Merge branch 'global-find' of github.com:github/atom into global-find 2012-07-20 19:07:46 -06:00
Nathan Sobo
c05fa7dc6f Merge branch 'master' into global-find
Conflicts:
	src/app/buffer.coffee
2012-07-20 19:01:38 -06:00
Nathan Sobo
e8a892ee3e Start implementing "tool-panel" keymap scheme
Tool panels will be mapped to ctrl-# bindings. If the panel is focused, the # binding closes it. Otherwise the # binding shows it (if needed) and focuses it. The esc key unfocuses the panel, but does not necessarily close it. Meta-w always closes the panel.

This is the scheme. Right now we only have 2 panels:

Command Panel: Ctrl-0, esc still hides it
Tree View: Ctrl-1, esc just unfocuses it
2012-07-20 17:56:36 -06:00
Corey Johnson & Nathan Sobo
cc292b604d Select preview item when preview list is shown 2012-07-20 14:19:19 -07:00
Nathan Sobo
d16328c533 Meta-shift-f opens the command panel pre-populated with Xx/ to find in project 2012-07-20 13:57:33 -06:00
Nathan Sobo
411215f6c8 Fix bug where cursor occasionally precedes '/' after pressing meta-f
Now we always move cursor to end when setting the command panel's mini-editor text.
2012-07-20 10:44:49 -06:00
Corey Johnson & Nathan Sobo
ea385dad4b Don't swallow all command panel errors as if they were SyntaxErrors
This wasn't our fault. SyntaxError's implementation is weird and so every error ends up being an instance of it. Boo.
2012-07-19 19:13:28 -06:00
Corey Johnson & Nathan Sobo
9e4f401485 WIP: trying to make preview faster 2012-07-19 11:28:41 -06:00
Corey Johnson & Nathan Sobo
12a576ff95 Command panel can be detached after preview without throwing an exception 2012-07-18 15:19:55 -06:00
Corey Johnson
52d60df272 Stylize command panel preview 2012-07-18 09:22:32 -07:00
Corey Johnson
86b0fee4f1 Make spec pass by using code that is not horribly written 2012-07-17 20:18:00 -07:00
Corey Johnson
a5032e3811 PreviewItem displays matched text 2012-07-17 20:12:57 -07:00
Corey Johnson
51b7b50687 Operations are initialized with the project 2012-07-17 20:11:43 -07:00
Corey Johnson & Nathan Sobo
faea4aedcc Show preview list when X x operation completes 2012-07-17 18:39:29 -06:00
Nathan Sobo
0bc9973d9f Don't set the ':' prompt font in command panel because it looks bad afterward 2012-07-17 16:54:29 -06:00
Nathan Sobo
d8189a6fc4 "X x/regex/" command returns operations
Also, passing an EditSession is optional when calling CommandInterpreter.eval. X commands don't require it, but other commands will throw exceptions if it's missing.
2012-07-17 16:32:20 -06:00
Corey Johnson & Nathan Sobo
34e96fb8d7 WIP: Adding find all matches in project command 2012-07-17 14:26:12 -06:00
Nathan Sobo
330e9cebd9 Make it possible for command compilation to be async by returning promises 2012-07-17 12:02:45 -06:00
Nathan Sobo
4584f47cf2 Pass all ranges to each command when composing commands 2012-07-17 11:17:46 -06:00
Nathan Sobo
075968e42c Associate compiled operations with anchor ranges. All tests pass again.
This allows them to update their target range in the face of upstream changes.
2012-07-13 19:46:08 -06:00
Corey Johnson & Nathan Sobo
fd24b82d47 WIP: Converting to operations, but substitution operations need anchor ranges 2012-07-13 18:30:10 -06:00
Corey Johnson & Nathan Sobo
42f322a112 CommandInterpreter uses project and edit sessions instead of editor to execute
We don't want to pass view objects into it!
2012-07-13 15:10:37 -06:00
Corey Johnson & Nathan Sobo
8e3c3a13a9 Substitution commands don't change editor selection 2012-07-12 17:59:45 -06:00
Corey Johnson & Nathan Sobo
bee6bf0ff5 Add explicit ZeroAddress object to command language AST 2012-07-12 17:56:23 -06:00