Corey Johnson
2a86e3bf61
More resolving. More extension hotness.
2011-11-03 17:42:44 -07:00
Corey Johnson
7e7bbe3f01
Multiple windows can be opened, and their buffer state is saved.
2011-11-03 15:48:19 -07:00
Corey Johnson
e4d79c6625
don't error when opening untitled buffer
2011-11-03 13:41:39 -07:00
Corey Johnson
fe734a1b11
it remembers what buffers a window has open
2011-11-02 16:57:34 -07:00
Corey Johnson
9a596734ff
editor is more editorish
2011-11-02 15:22:52 -07:00
Corey Johnson
c67917efa3
tabs
2011-11-02 10:27:25 -07:00
Corey Johnson
9e21d8da04
Dirty and window title added back. Dirty close prompts user.
2011-11-01 16:07:20 -07:00
Corey Johnson
66ad5e8150
Don't send scope to string methods!
2011-11-01 13:06:56 -07:00
Corey Johnson
6724c872d2
Don't recreate the OSX Watcher class.
2011-11-01 11:29:44 -07:00
Corey Johnson
912654cddf
opening paths and multiple windows is working!
2011-10-31 16:14:43 -07:00
Corey Johnson
cebd600e62
reloading be working.
2011-10-28 18:04:35 -07:00
Corey Johnson
0066ce5a01
Get rid of the noise, get rid of the funk.
2011-10-28 17:21:15 -07:00
Corey Johnson
445e5a8ce0
Every window has a path
2011-10-28 17:12:16 -07:00
Corey Johnson
8b906e40c1
actually working
2011-10-28 10:58:16 -07:00
Corey Johnson
3c976e37f3
things got a little out of hand
2011-10-27 17:45:42 -07:00
Corey Johnson
1c2a4cd728
better at absolute pathing
2011-10-26 14:21:20 -07:00
Corey Johnson
24b39115c2
consistently using fs instead of File
2011-10-26 14:21:02 -07:00
Corey Johnson
1fbe1c6055
Ported plugin.coffee
to extension.coffee
2011-10-26 14:19:52 -07:00
Corey Johnson
69f2d44bcd
plugins are now extensions
2011-10-26 11:46:03 -07:00
Corey Johnson
f630ac92aa
only call the most recently added keybinding
2011-10-26 11:25:00 -07:00
Corey Johnson
003effe5fd
Kind of starting from scratch.
...
Recreated the project as an xcode 4 project.
Key Bindings are working and reloading.
Got rid of everything that wasn't being used right now.
2011-10-26 11:12:18 -07:00
Corey Johnson
e64a0e64a1
wip
2011-10-26 11:10:52 -07:00
Corey Johnson
80d6222809
bring App back to bare bones
2011-10-24 11:11:05 -07:00
Corey Johnson
10c0776ff6
Added file watching.
2011-10-24 10:20:31 -07:00
Corey Johnson
9bb92a4dd5
The main pane always exists so it is independent of plugin load order.
2011-09-26 17:29:10 -07:00
Corey Johnson
6c56221afe
Editor is now a plugin! This means everything is pretty modular now (and the code is a little event heavy)
2011-09-26 17:29:10 -07:00
Corey Johnson
da64efc06c
this isn't working
2011-09-26 13:45:21 -07:00
Corey Johnson
226fb9e26e
Moving event handling out of editor into window
2011-09-26 11:10:27 -07:00
Corey Johnson
1b4f371873
jscocoa, your weird message calling kills me.
2011-09-23 16:42:06 -07:00
Corey Johnson
5c54dd77c9
pane adds itself.
2011-09-23 16:41:41 -07:00
Corey Johnson
d8d98ca7e3
first pass at key bindings. just replicating keymaster for now.
2011-09-23 15:57:18 -07:00
Corey Johnson
dda91e39f2
editor will be a plugin, for now force keybinding
...
creation
2011-09-22 17:29:03 -07:00
Corey Johnson
3b5984c3f7
better error message
2011-09-22 17:05:24 -07:00
Corey Johnson
38f265f33f
ALWAYS BE PATHING
2011-09-22 16:48:39 -07:00
Corey Johnson
290f519d76
Added 'load' method for plugins.
...
This is called after all the plugins have been
created.
2011-09-22 11:08:53 -07:00
Corey Johnson
99d3d9b3e2
So we don't screw up and press cmd-ctrl-r from
...
the console.
Once we get keybindings working, we won't have to worry about this causing problems.
2011-09-21 17:40:57 -07:00
Corey Johnson
91b7779179
More methods from common.js fs.
2011-09-21 17:40:04 -07:00
Corey Johnson
2ea875e700
require cleanup
2011-09-21 17:38:52 -07:00
Corey Johnson
620538a6b5
Plugin does a lot of things we thought Pane would.
2011-09-21 17:38:14 -07:00
Corey Johnson
012fc4826d
Editor is starting to act more like a plugin.
...
Eventually it will be a plugin.
2011-09-21 17:37:39 -07:00
Corey Johnson
24073baa44
catch and report plugin errors
2011-09-21 17:37:03 -07:00
Corey Johnson
47b8d0dc02
making plugins unique to windows and 'classy'.
...
This checkin breaks everything BTW.
2011-09-21 14:26:44 -07:00
Corey Johnson
5270f97dcd
Plugins love this guy
2011-09-21 14:24:52 -07:00
Corey Johnson
4cb47ab96f
window loads plugins. prepping for plugin refactor
2011-09-20 16:54:50 -07:00
Corey Johnson
5abe161f7d
Window is no longer a Pane
2011-09-20 15:26:17 -07:00
Corey Johnson
664fa5b06f
bindkey takes a scope, keycap is a method
2011-09-20 15:25:36 -07:00
Corey Johnson
9eee6ad9ad
Some app errors
2011-09-20 13:44:42 -07:00
Corey Johnson
1d562dce58
dumb error
2011-09-20 13:44:13 -07:00
Corey Johnson
e60fa30daa
Made App a fake singleton. It only has class methods and variables.
2011-09-20 11:06:34 -07:00
Corey Johnson
c22587ab66
Moving UI stuff to Chrome.
...
I don't like the name Chrome, looking to rename it.
2011-09-20 11:05:19 -07:00
Corey Johnson
35ce4b3bf8
Added some warnings to require.
2011-09-20 11:02:11 -07:00
Corey Johnson
45b1f0ef64
pane storage is super simple now.
2011-09-19 11:12:18 -07:00
Corey Johnson
64dafdfad9
A simple storage scheme.
2011-09-16 16:01:13 -07:00
Corey Johnson
39080d0132
not ready yet
2011-09-16 15:35:59 -07:00
Corey Johnson
6cb88dc7e4
i want to reload vendor too
2011-09-16 14:58:18 -07:00
Corey Johnson
cc3abee58a
mergin
2011-09-16 09:31:46 -07:00
Corey Johnson
7347f4c8a4
persistence, but it's too magic
2011-09-15 16:53:18 -07:00
Corey Johnson
8011e2fc7c
open project first
...
HACK: need to make this flow cleaner
2011-09-15 16:52:23 -07:00
Corey Johnson
5a6e12234f
keep these on one line? What should the rule be?
2011-09-15 16:47:55 -07:00
Corey Johnson
26901718dd
keep these on one line? What should the rule be?
2011-09-15 08:57:57 -07:00
Chris Wanstrath
d50b9722a0
commas, lolz
2011-09-15 00:14:58 -07:00
Corey Johnson
7765fd06a8
Added exists
2011-09-14 11:41:04 -07:00
Corey Johnson
5f44dad5c2
When everything is done, send a loaded message.
...
Or maybe plugins should have a `appDidLoad` method
or something.
2011-09-14 11:40:49 -07:00
Corey Johnson
ef3fc1d278
Tab tells editor to close file. Tab is then
...
notified about closer.
This is in prep for reopening files on app
relaunch.
2011-09-13 16:44:30 -07:00
Corey Johnson
4f55f4d4a0
Added toggle to Pane. Makes more sense there.
...
Also made pane be more jquery'y
2011-09-12 17:50:17 -07:00
Corey Johnson
e5efaffdb4
On boot, open up the most recently opened file/dir
2011-09-12 12:25:25 -07:00
Corey Johnson
a65d081855
Store the last opened path.
...
Just throwing stuff into localStorage seems
sloppy. Maybe we just need some guidelines to
follow.
2011-09-12 12:24:50 -07:00
Chris Wanstrath
0b66c5483b
open and save files as utf-8. fixes #23
2011-09-11 02:41:19 -07:00
Chris Wanstrath
37c6e4f64e
since we're being opionated
2011-09-10 00:09:50 -07:00
Chris Wanstrath
aaf2e63dc5
you bastard. how do you not use Cmd-`?
2011-09-09 23:34:51 -07:00
Corey Johnson
d501e85a46
Remove trailing whitespace on save. Fixes #18 .
2011-09-09 16:36:10 -07:00
Corey Johnson
89855a6da2
showing invisibles by default.
2011-09-09 15:44:36 -07:00
Corey Johnson
bc616d05e7
Got rid of the untitled tab.
...
It still gives you an empty editor document. I'd
like to get rid of this too and maybe show a
"recently opened" window.
2011-09-09 14:19:56 -07:00
Corey Johnson
475d199052
I don't think we need this anymore? It works for
...
me with the default timeout of 1.
2011-09-09 11:50:52 -07:00
Corey Johnson
108f0ab142
@defunkt put that in your ~/.atomicity file, it's
...
erring in my console!
2011-09-08 20:09:40 -07:00
Chris Wanstrath
c69ac0f49a
require() loads js in strict mode
...
Main advantage: variables won't accidentally
leak into the global scope.
$ cat gg.js
bad = true
https://img.skitch.com/20110909-kry3pm4ask5qhj5rg43yb37tci.png
2011-09-08 18:04:23 -07:00
Chris Wanstrath
e5ccae5bd9
keymap values can be functions
2011-09-08 02:21:29 -07:00
Chris Wanstrath
6ec348068c
use require.paths when resolving
2011-09-08 01:59:20 -07:00
Chris Wanstrath
22abf6497c
make expandPath fit in
2011-09-08 01:59:20 -07:00
Chris Wanstrath
f293966a70
Command-Ctrl-T to run Atomicity's tests. Output is in the console.
2011-09-08 01:59:17 -07:00
Chris Wanstrath
e5a5c422a4
subtle indentation error
2011-09-08 01:00:01 -07:00
Chris Wanstrath
7ea2efaf06
delete the editor session when closing a tab
2011-09-08 00:41:41 -07:00
Chris Wanstrath
c3dc1cc3eb
detect indentation, tabs vs spaces
2011-09-08 00:37:40 -07:00
Chris Wanstrath
10d02d966b
disable ace workers
2011-09-08 00:29:07 -07:00
Corey Johnson
df7a81c1ec
don't override cmd-q
2011-09-06 11:59:15 -07:00
Chris Wanstrath
7fd6fafb7f
move handleKeyEvent into keybinder.coffee
2011-09-06 00:10:44 -07:00
Chris Wanstrath
5c7c97f3df
Merge remote-tracking branch 'origin/key-bindings'
...
Conflicts:
src/startup.coffee
2011-09-06 00:09:05 -07:00
Chris Wanstrath
3b8bf900a4
add @code() and @switchToSession() to Editor
2011-09-05 23:47:33 -07:00
Chris Wanstrath
36895ec5a3
editor managers a pool of edit sessions
2011-09-05 23:47:07 -07:00
Corey Johnson
18df46bbde
eat the key bindings we want.
2011-09-05 10:27:07 -07:00
Chris Wanstrath
ad9028e803
cancel open
2011-09-04 19:29:43 -07:00
Chris Wanstrath
9413af5816
those guys too
2011-09-04 19:23:53 -07:00
Chris Wanstrath
1d3b31849b
use keymaster instead of ace for keybindings.
...
keybindings now work anywhere in the window, not just when ace has
focus!
2011-09-04 19:23:52 -07:00
Chris Wanstrath
9d200700bc
can't read file
2011-09-04 19:23:52 -07:00
Chris Wanstrath
d45edcd5ff
addPane takes a Pane. turn project and tab plugins into Panes
2011-09-04 19:23:52 -07:00
Chris Wanstrath
45d2bdc5fd
move open, openURL, new, reload, & showConsole key commands into Window
2011-09-04 19:23:52 -07:00
Chris Wanstrath
793946faf8
panes have keymaps. good or bad?
2011-09-04 19:23:52 -07:00
Chris Wanstrath
b9689679e5
Turn editor.coffee into an Editor class which subclasses Pane
...
This isn't great but I think it's a step in the right direction.
2011-09-04 19:23:52 -07:00
Chris Wanstrath
18b8e14134
kill unused document.coffee for now
2011-09-04 19:23:11 -07:00
Corey Johnson
819ec44e98
me too
2011-09-04 18:14:34 -07:00
Corey Johnson
b4944bbb46
missing args default to falsey, so dump them
2011-09-04 15:41:38 -07:00
Chris Wanstrath
e44414ae26
whoa
2011-09-04 14:23:48 -07:00
Chris Wanstrath
dd9f35d6b6
kill bootstrap - require.js is the only special case.
2011-09-04 14:21:57 -07:00
Chris Wanstrath
804b67f8df
osx.coffee is dead.
...
Split Chrome into App and Window, in app.coffee and window.coffee
2011-09-04 14:17:46 -07:00
Chris Wanstrath
de2ffdf25d
todo: testing
2011-09-04 13:46:56 -07:00
Chris Wanstrath
38e1065ae4
probably not true
2011-09-04 13:36:54 -07:00
Chris Wanstrath
b0c09aab18
need jscocoa in fs.coffee
2011-09-04 00:36:51 -07:00
Chris Wanstrath
67419b9b4d
isDirectory
2011-09-04 00:36:51 -07:00
Chris Wanstrath
e5103c7bd6
fix fs module
2011-09-04 00:36:51 -07:00
Chris Wanstrath
f719ce3053
__defines should fit in
2011-09-04 00:36:51 -07:00
Chris Wanstrath
63f84475eb
old exports
2011-09-04 00:36:51 -07:00
Chris Wanstrath
2b1e04264c
kill Process, split into fs module and system module
2011-09-04 00:36:51 -07:00
Chris Wanstrath
8b0b0e4ea3
move Dir into fs.coffee and commonjs it
2011-09-04 00:36:50 -07:00
Chris Wanstrath
884686f55f
move File module into fs.coffee. rename File.expand to File.absolute
...
absolute() is the commonjs form of expand()
2011-09-04 00:36:50 -07:00
Corey Johnson
6e73a8a442
clean up inspector creator
2011-09-03 10:38:15 -07:00
Chris Wanstrath
93add06d5f
implement ../ and ./ require() prefixes
2011-09-02 19:49:35 -07:00
Chris Wanstrath
c6d0df42e3
__filename global - name of the file being require()'d
2011-09-02 19:49:30 -07:00
Corey Johnson
db24c17d22
we only need the setTimeout on the first window load. must be some magic caching going on somewhere.
2011-09-02 19:38:57 -07:00
Corey Johnson
0fcbd5a306
more coffeescriptish, i think
2011-09-02 19:37:50 -07:00
Corey Johnson
7309d86bfb
these only need a tiny bit of timeout
2011-09-02 19:28:19 -07:00
Corey Johnson
4b66101755
just adding the editor pane statically
2011-09-02 19:28:05 -07:00
Corey Johnson
6d41492fd7
it's important to test your code, corey
2011-09-02 18:08:37 -07:00
Corey Johnson
b7f562dd32
Whenever a pane is added or removed, the editorUI is refreshed.
2011-09-02 18:01:39 -07:00
Corey Johnson
23e4be9f7d
define takes an optional filename. This lets us grab the 'temp' object we set requires to when there are circular references.
...
Is this crazy, or does this make sense.
2011-09-02 18:01:39 -07:00
Corey Johnson
5d758bf358
added a resize editor method
2011-09-02 18:01:39 -07:00
Chris Wanstrath
56245f8ecc
kill me now
2011-08-30 01:39:23 -07:00
Chris Wanstrath
10b6e50b11
modes plugin
2011-08-30 01:39:21 -07:00
Chris Wanstrath
23fc7223b3
export ace, emit 'save' and 'open' events
2011-08-30 01:14:35 -07:00
Chris Wanstrath
76ee406ae8
jscocoa nsstrings aren't js strings =/
2011-08-30 01:14:35 -07:00
Chris Wanstrath
1cd9f98478
web console is where it's at
...
(this also fixes the reported source of a console.log
in the web inspector)
2011-08-30 01:14:35 -07:00
Chris Wanstrath
e1714c72e7
we have better debugging now, thx
2011-08-30 01:12:26 -07:00
Chris Wanstrath
c1faebd044
Social coding.
2011-08-30 01:12:26 -07:00
Chris Wanstrath
918ee8e15e
Removing any parens we're not forced to use. Lean into it.
2011-08-30 01:12:24 -07:00
Chris Wanstrath
5770b38c5d
we still use open()
2011-08-29 22:49:51 -07:00
Corey Johnson
01ed2ce204
export 'open' explicitly pass in the file path to open.
2011-08-29 20:37:18 -07:00
Corey Johnson
bbae26312c
Helper for reloading everything.
...
Probably should put in my .atomicity dir but I am social coding.
2011-08-29 20:36:29 -07:00
Corey Johnson
0d045b76c8
keep the logs clean corey
2011-08-29 17:08:59 -07:00
Corey Johnson
8392019108
you can open directories
...
(we should open directories in new windows, but baby steps)
2011-08-29 17:05:07 -07:00
Corey Johnson
228af89b0b
derp
2011-08-29 17:02:49 -07:00
Corey Johnson
88d157178b
jscocoa.js holds a subset of the methods from jscocoa's class.js
2011-08-29 17:02:41 -07:00
Corey Johnson
21f3584924
get in there process
2011-08-29 17:01:38 -07:00
Corey Johnson
27759ac812
Display console with cmd-ctrl-k. how do you close the console? You can't yet.
...
http://www.opensource.apple.com/source/WebKit/WebKit-6531.9/mac/WebInspector/
2011-08-29 15:57:13 -07:00
Chris Wanstrath
faeb8e3661
require() takes a callback
2011-08-28 16:21:52 -07:00
Chris Wanstrath
c57a8d8112
use Array.prototype.some where corey wanted to use _.detect
2011-08-28 16:21:45 -07:00
Chris Wanstrath
76098d54ae
not actually doing anything
2011-08-28 12:33:38 -07:00
Chris Wanstrath
01c4fd8978
gaaaaaaaaaaaaaah
2011-08-28 12:30:27 -07:00
Chris Wanstrath
868c0f08c2
hardcore require(). _ and $ are no longer global. ultimate victory.
...
CoffeeScript is still a global because it's used by require() to
open .coffee files. However, you can also load your own:
cs4 = require('my-coffee-script').CoffeeScript
🚬
2011-08-28 12:30:22 -07:00
Chris Wanstrath
cbfd4f9d80
Reloading! Add your paths here. Loading new code is as simple as Cmd+N.
2011-08-28 12:06:14 -07:00
Chris Wanstrath
bf01e562a3
add ~ support to require()
2011-08-28 12:00:35 -07:00
Chris Wanstrath
d79819f1aa
kill fullscreen code (it dont work)
2011-08-28 11:37:42 -07:00
Chris Wanstrath
0c7251fe1d
gross
2011-08-28 01:57:03 -07:00
Chris Wanstrath
aa47966aaa
add .coffee support to require()
2011-08-28 01:51:36 -07:00
Chris Wanstrath
e288902540
moving this hax to my personal ~/.atomicity for now
2011-08-28 01:47:58 -07:00
Chris Wanstrath
223e39a617
move ~/.atomicity loading into plugins.coffee
2011-08-28 01:47:36 -07:00
Chris Wanstrath
c31111099a
throw
2011-08-28 01:40:30 -07:00
Chris Wanstrath
455ddd459e
plugins.coffee
2011-08-28 01:40:30 -07:00
Chris Wanstrath
d7ef98de4f
don't let plugin break each other
2011-08-28 01:02:05 -07:00
Chris Wanstrath
d7661be2c1
buggin me
2011-08-28 00:56:20 -07:00
Chris Wanstrath
b2f2eb4cb7
default ext handler just reads the file's contents
2011-08-28 00:48:52 -07:00
Chris Wanstrath
ac773daff6
expose require.__modules for debugging
2011-08-28 00:43:19 -07:00
Chris Wanstrath
003776da8f
boom. errors with scripts and line numbers now show up in web inspector
...
https://img.skitch.com/20110828-rrfnqet2y2yrxq6witst6mrscx.png
fixes #3
atomicity modules that want to export an api must use define().
this mirrors ace's module definition style so it should fit in
fine.
$, _, and CoffeeScript are now global
scripts show up as loaded
before:
https://img.skitch.com/20110828-japr2cp4ucbr4a1kmp9degs3t.png
after:
https://img.skitch.com/20110828-txc782k47gn4rb67mhbujsgkw5.png
2011-08-28 00:26:38 -07:00
Chris Wanstrath
326f91bbef
use JSCocoa to eval require.js - shows up in web inspector!
2011-08-27 22:19:59 -07:00
Chris Wanstrath
bc1ffc632f
dont think we need that
2011-08-27 22:19:53 -07:00
Corey Johnson
9f51505287
Export bindKey
2011-08-27 21:51:25 -07:00
Corey Johnson
90aea78c65
Moving code to a better place
2011-08-27 21:51:14 -07:00
Corey Johnson
da04cec4a9
Got to use the same export object for it to work
2011-08-27 21:27:41 -07:00
Corey Johnson
550967ffe8
__modules contains the full expanded filename. Also, a temporary empty object is set for the files __module so we can have some circular references.
...
This is how commonJS says to do it (I think).
Fixes #4 .
2011-08-27 21:17:06 -07:00
Corey Johnson
57d81aea8d
i still love you web console!
2011-08-27 19:13:34 -07:00
Corey Johnson
55f40a1b3e
Expand paths of /* paths as well.
2011-08-27 18:19:00 -07:00
Corey Johnson
896a2c279b
cwd could change, limit search to plugin folder in bundle.
2011-08-27 18:18:11 -07:00
Chris Wanstrath
9d54c6cc20
cleaner, way more awesome, 100x better require()
2011-08-27 16:52:08 -07:00
Chris Wanstrath
9af38c8c53
plugins/ (not working yet)
2011-08-27 15:13:12 -07:00
Chris Wanstrath
cfdce83925
require() can take absolute paths
2011-08-27 15:01:31 -07:00
Chris Wanstrath
22649889fb
Dir.list only goes one level deep unless you ask it to go deeper
2011-08-27 14:46:36 -07:00
Chris Wanstrath
488697884f
add support for index.js to require()
2011-08-27 14:26:52 -07:00
Chris Wanstrath
64516b7242
File.expand './dir'
2011-08-27 14:14:59 -07:00
Chris Wanstrath
80c643b136
fuuu ui bug
2011-08-27 04:13:32 -07:00
Chris Wanstrath
409a77c485
gigantic ass reorg. let me know if this breaks.
2011-08-27 03:55:56 -07:00