Commit graph

441 commits

Author SHA1 Message Date
Thomas Wilburn
2dcd86d8be Fix bugs where project manager still uses callback style. 2014-05-03 23:29:22 -07:00
Thomas Wilburn
d10791bbad Add an emergency reset menu item
Fixes #191
2014-05-03 15:55:38 -07:00
Thomas Wilburn
dec30ed854 Added a "set newline mode" command binding.
Fixes #198.
2014-05-03 15:34:17 -07:00
Thomas Wilburn
f8b4c4c37f De-callback in favor of promises in the file APIs. Fixes #139 2014-04-25 08:03:47 -07:00
Thomas Wilburn
b0c56da3c3 Added an app:browse command and then removed help.json, since it's useless. 2014-04-24 12:15:51 -07:00
Thomas Wilburn
2fd765b776 Fix a bug where the settings files aren't pulled before loading.
Fixes #197
2014-04-23 10:15:37 -07:00
Thomas Wilburn
6d262c35fb Fix a bug where new, unmodified tabs would pester on close. 2014-04-23 10:15:14 -07:00
Thomas Wilburn
d00d35f611 Be more formal about the file read step on restore, just in case 2014-04-11 09:08:41 -07:00
Thomas Wilburn
ec6f20c72c Actual fix for #188 2014-04-10 16:48:01 -07:00
Thomas Wilburn
70de2e218a Fix #188 - middle clicks were broken when tab labels got split into a child of the element. 2014-04-10 08:43:03 -07:00
Thomas Wilburn
4e25c90dff Add an option for removing empty lines when trimming whitespace. Fixes #158 (again) 2014-04-08 12:07:08 -07:00
Thomas Wilburn
8de17a0c94 Editor needs to resize after a fullscreen class change. 2014-04-06 09:00:48 -07:00
Thomas Wilburn
375424beaf Added a check for fullscreen on startup 2014-04-04 13:21:27 -07:00
Thomas Wilburn
d7e8f0a8a7 Fixes for immersive fullscreen on ChromeOS 2014-04-04 13:13:25 -07:00
Thomas Wilburn
e33a8590aa Check file modification on app:exit
Prompts for save/discard/cancel when user triggers an app:exit via menu,
button, or palette. Fixes #178.
2014-04-04 09:42:31 -07:00
Thomas Wilburn
58e13656f5 Forgot a closing paren. 2014-04-04 09:16:35 -07:00
Thomas Wilburn
bc02a28029 Enable immersive fullscreen option. Fixes #179 2014-04-04 09:13:54 -07:00
Thomas Wilburn
1789df09c3 Add a debug command line for issuing Caret commands.
Fixes #145.
2014-04-03 23:45:19 -07:00
Thomas Wilburn
a3d50a16a0 Fix a bug where fullscreen can still be 'maximized' before it returns to windowed mode. 2014-04-03 15:59:14 -07:00
Thomas Wilburn
599ac9f1db Enable app frame with inline menu and window controls. See #176 2014-04-03 15:06:30 -07:00
Thomas Wilburn
902d8eb46b Add styles and option for auto-collapsing the project manager. 2014-04-03 08:56:05 -07:00
Thomas Wilburn
953f53287d Also added a restart command, which may prove useful. 2014-03-24 19:29:56 -07:00
Thomas Wilburn
56f87c996e Add a debug command (may not work without packaged debugging enabled. 2014-03-24 19:22:52 -07:00
Thomas Wilburn
c985bcca82 Fix a bug where the palette may end up unresponsive due to an uninitialized debounce timeout 2014-03-24 18:44:07 -07:00
Voica Adrian
d9fef43e22 New tab button (cleanup) and doubleclick tab bar. 2014-03-24 17:18:25 +02:00
Thomas Wilburn
5bab125e9a Fixes #170 2014-03-22 06:09:28 -07:00
Thomas Wilburn
2e847cda88 Fixes #169 2014-03-22 06:05:47 -07:00
Thomas Wilburn
2af2d044b7 Improve command palette sorting. Fixes #167. 2014-03-21 04:51:42 -07:00
Thomas Wilburn
c500425731 Updated Ace, added LESS to file permissions. 2014-03-19 20:08:47 -07:00
Thomas Wilburn
ab70579a9e Sort file results in the palette by match strength. Fixes #163. 2014-03-19 19:24:13 -07:00
Thomas Wilburn
3ddda96c35 Show the tab path in the tooltip. Fixes #164. 2014-03-19 18:01:36 -07:00
Josh Baker
43e3ce723b Only trim whitespace between non-whitespace and newline (Issue #158)
This prevents trimming lines that only have whitespace.
2014-03-13 11:42:39 -04:00
Thomas Wilburn
4b584d6633 Better tick scheduling, added {{.}} to inflate. 2014-03-07 23:30:47 -08:00
Thomas Wilburn
43d6b462f7 this bugs are the worst. 2014-03-07 22:33:32 -08:00
Thomas Wilburn
e1c05a2c95 Animation tweaks. 2014-03-07 21:17:16 -08:00
Thomas Wilburn
4aba4cc503 Give ProjectManager loading UI
See #156. This change adjusts the project manager to have a loading bar
during lengthy operations. It also adds a `tick()` method that queues up
operations in 15ms chunks--we'll still blow the frame budget most times,
but it keeps things reasonably responsive (at least until the render
tree has to be added to the DOM).
2014-03-07 21:09:05 -08:00
Thomas Wilburn
6ce3134a9c Fixes #150
This looks pretty good. RosettaCode, which has 75,000 files, is
reasonably responsive when searching. I don't know what Chromium is like
in terms of files, but I also suspect I know my limitations for now.
2014-03-07 21:06:08 -08:00
Thomas Wilburn
59861736b1 Update modification time as part of session:revert-file. 2014-03-06 06:56:01 -08:00
Thomas Wilburn
3fc55120ac Fix a bug where the palette 'showed' too many results 2014-03-05 15:47:47 -08:00
Thomas Wilburn
0ccb026150 Add project ignoreFiles option. Fixes #153 2014-03-05 15:44:33 -08:00
Thomas Wilburn
11d3100ee7 Actually make 'trim whitespace' work without blowing up the cursor position. 2014-03-05 09:36:19 -08:00
Thomas Wilburn
befba25f86 Added a 'trim whitespace' command and trigger it on save if enabled. Fixes #151 2014-03-05 08:52:48 -08:00
Thomas Wilburn
c2c8f64799 Update files on window focus. Fixes #149 2014-03-05 07:34:33 -08:00
Thomas Wilburn
ea5e58fc57 Correctly trigger hover class removal. 2014-02-28 11:27:16 -08:00
Thomas Wilburn
f288a61578 Fill in some missing file handler registrations. 2014-02-27 18:54:37 -08:00
Thomas Wilburn
9f54dcfec8 Code cleanup and commenting. 2014-02-26 22:34:02 -08:00
Thomas Wilburn
bbd9a4fad0 Bugfix in previous commit--replace, _then_ split 2014-02-26 22:02:33 -08:00
Thomas Wilburn
c4cc9f4598 Fix some bugs with the palette, syntax cleanup, add comments. 2014-02-26 18:56:05 -08:00
Thomas Wilburn
e847ffc9ad Fix a bug with file restore failures. 2014-02-26 10:05:15 -08:00
Thomas Wilburn
6ec5c2be01 Converted project manager to templates. 2014-02-26 08:57:15 -08:00
Thomas Wilburn
1d18d42e38 Clean up session dependencies 2014-02-23 15:48:51 -08:00
Thomas Wilburn
2f57992d5a Hide dragged tabs. 2014-02-23 15:17:05 -08:00
Thomas Wilburn
809a7b6917 Fixing visual drag-drop indications on the tab list. 2014-02-23 14:56:48 -08:00
Thomas Wilburn
10385d5579 Session refactoring mostly done 2014-02-23 14:21:59 -08:00
Thomas Wilburn
4757e8fda1 Fix close buttons masking the tab gradient. 2014-02-23 14:21:11 -08:00
Thomas Wilburn
ecf39ae914 Merge branch 'master' of github.com:thomaswilburn/Caret 2014-02-23 12:59:23 -08:00
Thomas Wilburn
2d68149cc5 . 2014-02-23 12:30:30 -08:00
Thomas Wilburn
b6d4371400 Start moving session state into an external module, similar to the way that Ractive splits out its modules. 2014-02-23 12:28:41 -08:00
Thomas Wilburn
0e7c30c8ea ...... 2014-02-21 22:49:40 -08:00
Thomas Wilburn
7fe8e2a096 ... 2014-02-21 22:37:13 -08:00
Thomas Wilburn
3be5176d7b Detect syntax bug--finally fixed? 2014-02-21 22:27:36 -08:00
Thomas Wilburn
832e7c7f66 Tweaks to inactive tab styles. 2014-02-21 21:13:20 -08:00
Thomas Wilburn
52f8abbdc6 Fix a bug where syntax was detected but the dropdown wasn't set. 2014-02-21 20:46:28 -08:00
Thomas Wilburn
d6799bda61 Fixes #143 2014-02-21 20:29:41 -08:00
Thomas Wilburn
795a979d46 Raised the toast time, since it's nice for word count. 2014-02-21 17:50:12 -08:00
Thomas Wilburn
6717481072 Fixed a bug that refused to open the default settings files. 2014-02-20 13:09:16 -08:00
Thomas Wilburn
f5467f1b6c Add commands for "insert from file" and "word count". Fixed a bug where palette commands can't really
show status bar toasts.
Fixes #141.
2014-02-20 09:00:29 -08:00
Thomas Wilburn
b01b122241 Add a scrollPastEnd option, default to true. 2014-02-19 07:49:55 -08:00
Thomas Wilburn
4ca0ddd399 Fix highlight line option 2014-02-06 12:26:01 -08:00
Thomas Wilburn
b9252f9b41 Fixes #131
An inconsistency in the two ways to declare ace commands caused a
failure in re-binding certain keys. Switched all default configs to the
shorter syntax, just in case.
2014-01-27 11:38:10 -08:00
Thomas Wilburn
ce8716be9f Found a bug where fileManager wouldn't trigger init:complete if there were no retained items. 2014-01-27 11:11:58 -08:00
Thomas Wilburn
a3c404de31 Nesting <a> in <a> isn't allowed, apparently. 2014-01-27 11:02:02 -08:00
Thomas Wilburn
3abdb574e6 Fix a bug where syntax wasn't re-detected after save-as. 2014-01-23 08:38:20 -08:00
Thomas Wilburn
1003b89965 Convert menus to templates (just for items, not recursive or using partials) 2014-01-22 09:26:53 -08:00
Thomas Wilburn
5d674b2f28 Update readme with details of templating library and plugin 2014-01-22 08:52:13 -08:00
Thomas Wilburn
9d5e28239d Removed unused template from main.html 2014-01-22 08:42:18 -08:00
Thomas Wilburn
e6f0b7070a Added a loadHTML() method for directly injecting templates 2014-01-22 08:42:08 -08:00
Thomas Wilburn
08e03d2de4 Converted dialogs over to templates. 2014-01-22 08:37:28 -08:00
Thomas Wilburn
0fd6aa550e Moved about dialog into template 2014-01-22 07:55:04 -08:00
Thomas Wilburn
8bba0ca36a Converted palette to templates 2014-01-21 22:47:02 -08:00
Thomas Wilburn
27499bf1bc Converted tabs over to the templating plugin, other rendering to follow 2014-01-21 19:01:00 -08:00
Thomas Wilburn
78bb7ad5c9 Add a home-made template library, first steps away from in-JS DOM construction. 2014-01-21 11:12:46 -08:00
Thomas Wilburn
c39cac674b Why do we remove the title from tabs? Leave it there. 2014-01-21 09:08:54 -08:00
Thomas Wilburn
3b5c925fa8 readme changes 2014-01-20 23:36:30 -08:00
Thomas Wilburn
60821321ba Fix stupid scoping mistake. 2014-01-20 23:19:25 -08:00
Thomas Wilburn
49327cbadf main.js now uses Settings.pull() 2014-01-20 22:14:46 -08:00
Thomas Wilburn
57d2b986b5 Add Settings.pull() for modules that want to request configs asynchronously instead of blocking load 2014-01-20 22:10:06 -08:00
Thomas Wilburn
57fec531c8 Move the Settings singleton into its own file for modules that want to load configs asynchronously. 2014-01-20 21:24:50 -08:00
Thomas Wilburn
5d250ef5e5 Added comments 2014-01-20 18:10:35 -08:00
Thomas Wilburn
81507d4a9c Refactor tab syntax and rendering out of sessions and into tab.js 2014-01-20 18:03:18 -08:00
Thomas Wilburn
88965d4cec Fixed a bug with failed file retention killing init:complete. 2014-01-20 15:49:26 -08:00
Thomas Wilburn
1767cd3fc2 Add printing. Fixes #120 2014-01-20 09:10:24 -08:00
Thomas Wilburn
742f96f644 Load configs and other text via getPackageDirectoryEntry()
Fixes #127
Turns out this isn't actually any faster, but it is cleaner and doesn't
clutter the console. We'll keep it for now.
2014-01-12 21:13:06 -08:00
Thomas Wilburn
6f762a9e59 Set up a valid init:complete event, process launch commands then. 2014-01-12 15:35:30 -08:00
Thomas Wilburn
6cf6745e5d Better background commands
Flash the window if it's already open
Pause two seconds to give app a chance to start.
2014-01-12 11:11:10 -08:00
Thomas Wilburn
2371f439e0 Add "secret" user option to disable tab restore. 2014-01-12 10:53:31 -08:00
Thomas Wilburn
8cc524a53e Extra safeguards.
Project manager calls preventDefault() on "links"
background.js rejects messages without a command property.
2014-01-12 10:47:08 -08:00
Thomas Wilburn
d5c154838a Simplify tab context URLs -- they're not a heirarchy, they don't need a root path segment. 2014-01-12 10:37:52 -08:00
Thomas Wilburn
67008772ea Fix bad refactoring. 2014-01-12 01:34:47 -08:00
Thomas Wilburn
99e7ce8e8d Bind for file-based DOM events in fileManager, not in command. 2014-01-12 01:26:37 -08:00
Thomas Wilburn
d26797ca80 Merge pull request #125 from mastercactapus/dragdrop
allow drag-drop opening of files and directories
Fixes #121
2014-01-12 01:24:49 -08:00
Nathan Caza
341812c5ac allow drag-drop opening of files and directories 2014-01-12 03:12:14 -06:00
Thomas Wilburn
6073cdefce Converting to promises broke File.getPath and thus project file de-dupe. 2014-01-12 00:43:02 -08:00
Thomas Wilburn
b10a83b64e Remove data that's added now that we're using links instead of spans for tabs. 2014-01-12 00:32:21 -08:00
Thomas Wilburn
0f5f335655 Bugs in removeTab were keeping closeTabsRight from iterating. 2014-01-12 00:10:06 -08:00
Thomas Wilburn
77ea4ca42e Mental note, don't comment out code you want to run. 2014-01-11 23:58:45 -08:00
Thomas Wilburn
d61fb669a8 Added command binding for closing tabs to right
Also moved closeTab() function into a lambda, since it's confusing to
have both it and removeTab(), and the former only works with the context
menu anyway.
2014-01-11 23:57:34 -08:00
Nathan Caza
f6d33a3717 Made tabs anchors instead of span, allowing context menus
- Added Close and Close tabs to the right
use element instead of tabEl
add e.preventDefault() to stop tabs from opening a new window
2014-01-12 00:34:37 -06:00
Thomas Wilburn
2c34939a43 Open a new window if a command is received while inactive.
Commands will be buffered and passed in to be fired on initialization.
To suppress app launch, add the quiet flag to your command when firing
the message from an extension.
Fixes #122
2014-01-10 22:15:35 -08:00
Thomas Wilburn
797a35e449 Make themes a little bit better about recovering from bad config values. 2013-12-23 19:23:50 -08:00
Thomas Wilburn
37cd59d0a6 Add async callbacks to a bunch of commands
See #80.
2013-12-23 16:15:03 -08:00
Thomas Wilburn
03df4334e8 Add module readme files.
Fixes #110 (maybe?)
2013-12-23 12:25:43 -08:00
Thomas Wilburn
7418c64b5c Use manos.deferred() in tab.save() 2013-12-23 11:20:04 -08:00
Thomas Wilburn
ec3edebc28 Promise API kind of sucks, use manos.deferred() instead. 2013-12-23 11:12:19 -08:00
Thomas Wilburn
1b04983d84 Use promises in tabs, sessions, fileManager. 2013-12-23 10:27:51 -08:00
Thomas Wilburn
529b3d2951 Finish converting syncFS to Promises. 2013-12-23 10:27:33 -08:00
Thomas Wilburn
576cfdaa16 Convert storage/file to HTML5 promises. 2013-12-23 09:36:31 -08:00
Thomas Wilburn
0fae9e411e Add es6-promise shim, so we can convert over to browser promises as soon as they're available. 2013-12-22 10:56:13 -08:00
Elisée Maurer
154b93c94d Shorten function name to enableTabMiddleClick 2013-12-21 07:18:49 +01:00
Elisée Maurer
ae42c58ada Close tab on middle-click
Also make sure we only fire regular commands when left-click is used,
not for any buttons
2013-12-21 07:02:54 +01:00
Thomas Wilburn
0227e06d46 Fixes #103 2013-12-20 15:10:23 -08:00
Thomas Wilburn
fc7d893929 Many key fixes: mainly that Ace key configs are reloaded from scratch on each init:restart, so that
you can't either wipe out Ace bindings for good, or have zombie bindings hanging around from edit to
edit.
2013-12-20 09:01:53 -08:00
Thomas Wilburn
455050a67b Hack to fix keyboard for now, but key merges are broken and should be fixed in settings 2013-12-20 07:56:56 -08:00
Thomas Wilburn
810ef49da7 Key configs should be case-insensitive.
Fixes #85 (again).
2013-12-19 11:50:23 -08:00
Elisée Maurer
53da1b8084 Implement change-tab-linear command, fixes #96
Bring back the ability to switch tabs linearly (to the left / right)
2013-12-19 19:00:50 +01:00
Thomas Wilburn
852d4fc3aa Add the ability to flag sync commands during registration 2013-12-16 17:40:42 -08:00
Thomas Wilburn
5a7ae3c459 Cleanup 2013-12-16 17:35:02 -08:00
Thomas Wilburn
c8fb385a31 Missed some case issues. 2013-12-16 14:58:37 -08:00
Thomas Wilburn
5f5ea6ef2e Convert keys to Ace-style binding syntax
Fixes #92
2013-12-16 14:47:25 -08:00
Thomas Wilburn
fd577ed1be JSON error. 2013-12-16 14:28:25 -08:00
Thomas Wilburn
b19775e031 Better async command patterns, fixes for loading command list. 2013-12-16 11:53:26 -08:00
Thomas Wilburn
da4490bf9a Add a simple text loader plugin. 2013-12-16 11:29:41 -08:00
Thomas Wilburn
5fd85e2f3e Fix for updates reloading too fast, thanks Chrome team! 2013-12-16 10:44:11 -08:00
Thomas Wilburn
6595a39f75 Update syntax/theme dropdowns when setting from palette. 2013-12-16 09:21:55 -08:00
Thomas Wilburn
3dcbbbed66 Add commands.json for #93 2013-12-16 08:51:56 -08:00
Thomas Wilburn
a53de2a198 . 2013-12-16 08:10:08 -08:00
Thomas Wilburn
e814ff5e61 Fixes #87 (I hope) 2013-12-16 08:01:46 -08:00
Thomas Wilburn
979d0082ce Add redundancy to chromebook search mappings. See #85 2013-12-13 09:48:56 -08:00
Thomas Wilburn
6331cfebdf Added keyboard patch for funky Chromebook search key combos (now compatible with Crouton). 2013-12-13 08:25:10 -08:00
Thomas Wilburn
73cf465bea Manifest bump, style tweak. 2013-12-10 22:57:18 -08:00
Daniel Loomer
ea5a0f3a8b only reorder when there is a target
Fixes disappearing tabs, previously the tab was being removed from the
tab array and disappearing from the UI when sorted since the "from" and
"onto" were the same (itself).
2013-12-10 21:20:01 -05:00
Thomas Wilburn
58e2c75679 Show the path as the sublabel when searching projects. 2013-12-10 14:57:20 -08:00
Thomas Wilburn
5ce586f3d7 Add the ability to search for file names inside the project
Fixes #69
2013-12-10 14:46:28 -08:00
Thomas Wilburn
a9ea37d073 Updated Ace to the 12/2/13 build. 2013-12-09 11:43:13 -08:00
Thomas Wilburn
4f11d068eb Merge branch 'master' of github.com:thomaswilburn/Caret 2013-12-05 12:29:03 -08:00
Thomas Wilburn
de8e444e36 Added the ability to open new tabs with content via command 2013-12-05 12:28:47 -08:00
Thomas Wilburn
5b4a3e22f7 Removed window.sync, added some comments. 2013-12-04 23:34:49 -08:00
Thomas Wilburn
8aef22694e Add commands for status messages. 2013-12-04 14:50:01 -08:00
Thomas Wilburn
0f2355fb2d Convert over to syncFS (not syncFileSystem) for storing settings. 2013-12-04 10:52:56 -08:00
Thomas Wilburn
5ac6e4c8e7 Remove logging. 2013-12-04 10:10:10 -08:00