Nathan Sobo
4d9b777350
Fix LanguageMode.proto.suggestedIndentationForBufferRow exception for row 0
2012-10-23 16:50:00 -06:00
Nathan Sobo
b5b552737d
Enable indent normalization on paste
2012-10-23 16:30:49 -06:00
Nathan Sobo
d1999b91ff
Base first line delta on the cursor column, not the existing line's indent
2012-10-23 16:30:38 -06:00
Nathan Sobo
839d57d819
Use existing line's indentation level if inserting normalized lines within it
...
If we're pasting multiple lines starting inside an already existing line, we never want to auto indent. We should just take its existing indentation level. Also, we strip the leading whitespace off the first line we're inserting, assuming it's already being represented by the indentation of the line we're onto which we're appending it.
2012-10-23 16:17:26 -06:00
Nathan Sobo
3b18c6a42d
With autoIndent disabled, don't use suggested first line indent when normalizing
...
Also, when some lines are *less* indented than the first line, it might not be possible to outdent them as far as they originally were relative to the first line, so we do as much as possible.
2012-10-23 14:27:26 -06:00
Corey Johnson
e20832aa50
Tree View uses core:close core:confirm core:cancel and adds tool-pane:unfocus
2012-10-23 13:21:34 -07:00
Corey Johnson
72a64b8e8b
Add core:cancel and core:confirm to atom keymap
...
Also 💄
2012-10-23 13:21:33 -07:00
Nathan Sobo
7bd4e8801f
If inserting on a line that is longer than the suggested indent, preserve indent
2012-10-23 14:13:51 -06:00
Nathan Sobo
0e5c76b474
Start adding the normalizeIndent option to EditSession.proto.insertText
...
This will be used by the paste command to ensure that indentation is normalized.
2012-10-23 14:07:00 -06:00
Nathan Sobo
7be3c55765
Only auto-indent when typing, not when pasting or programmatically inserting
...
This paves the way for using a different strategy to normalize indentation when pasting, without it getting tangled in auto-indent.
2012-10-23 11:59:54 -06:00
Kevin Sawicki
ab8c22825c
Support outdenting when indent is < 1 tab length
2012-10-23 09:57:39 -07:00
Corey Johnson & Nathan Sobo
9303aaa8fd
Rename root-view: event prefix to window:
2012-10-19 12:51:36 -06:00
Corey Johnson & Nathan Sobo
e6d541438d
Editor uses @command to register command handlers
2012-10-19 12:48:19 -06:00
Corey Johnson & Nathan Sobo
191164ed4c
Add $.fn.command method which ensures event is documented
...
For now, we auto-generate the documentation string by humanizing the event name. In the future, we may provide the option to provide more documentation, such as info about any arguments to the event, extended documentation, etc.
2012-10-19 12:14:02 -06:00
Corey Johnson & Nathan Sobo
de3bbce29f
Only show events w/ descriptions in EventPalette
...
Also, auto-generate human readable event name in editor. This is a good example of how we could do this automatically for some kind of `onCommand`, `command`, `onInteractiveEvent` method that combines the event name, documentation string, and handler in one shot.
2012-10-19 11:24:40 -06:00
Nathan Sobo
2b8c946a65
Merge branch 'master' into event-palette
...
Conflicts:
spec/extensions/fuzzy-finder-spec.coffee
src/extensions/fuzzy-finder/fuzzy-finder.coffee
2012-10-18 16:33:44 -06:00
Corey Johnson & Nathan Sobo
33b1b66ee4
Merge branch 'invisibles'
2012-10-18 14:44:48 -07:00
Corey Johnson & Nathan Sobo
93cbe2bb22
Create root-view:toggle-invisibles event
2012-10-18 14:44:21 -07:00
Corey Johnson & Nathan Sobo
a72d0399f7
Add Editor.setShowInvisibles and remove showInvisibles from EditSession
2012-10-18 14:10:36 -07:00
Corey Johnson & Nathan Sobo
ae0a60f4a9
Eliminate unused showInvisibles parameter.
2012-10-18 11:52:51 -07:00
Corey Johnson & Nathan Sobo
b33bbbfc0d
Handle invisible character rendering when building HTML for lines.
...
Not during creation of tokens.
2012-10-18 11:43:17 -07:00
Corey Johnson & Nathan Sobo
dd5a10e82e
💄
2012-10-18 11:33:19 -07:00
Corey Johnson
d7bc03112b
Empty lines require a special case for invisibles.
2012-10-18 11:33:19 -07:00
Corey Johnson
1ffbff7d99
Fix newline invisible symbol
2012-10-18 11:33:19 -07:00
Corey Johnson
22e009a999
Set invisible values for spaces and tabs when initial tokenization occurs.
...
Also break whitespace into its own token just like tabs.
2012-10-18 11:33:19 -07:00
Corey Johnson
4478bbca9a
When project.showInvisibles is true; spaces, tabs and newlines are visible
2012-10-18 11:31:39 -07:00
Corey Johnson
e2a917fcf3
Change tabText to tabLength
2012-10-18 11:31:39 -07:00
Corey Johnson & Nathan Sobo
640e9b6b0d
Editor.scrollTop can't be assigned to a negative number.
...
This was possible when the verticalScrollbar's scrollHeight was smaller than its height.
2012-10-17 18:02:45 -07:00
Corey Johnson & Nathan Sobo
4987ea3e49
If a TextMate syntax/preference fails to parse, catch error and log warning
2012-10-17 13:53:55 -07:00
Corey Johnson & Nathan Sobo
9f71b3057c
Simplify ScreenLine.translateColumn
2012-10-16 17:08:10 -07:00
Corey Johnson & Nathan Sobo
253a07e2c4
Add comment explaining the need for appending \n when scanning lines with a TextMate grammar
2012-10-16 16:07:54 -07:00
Corey Johnson
6171ea33e1
Add support for TextMate grammars with newlines in their regexes
2012-10-16 15:58:11 -07:00
Kevin Sawicki
6551be0c85
Update the buffer being used when the editor path changes
...
Previously the status indicator would only work for the first
buffer open since only the buffer used when the extension was
initialized was subscribed to for change events.
2012-10-12 15:39:52 -07:00
Kevin Sawicki
0da869589e
Use change event instead of buffer-change event
...
This will update the modified indicator after operations
are undone
2012-10-12 15:08:01 -07:00
Kevin Sawicki
19aa192c47
Return paths instead of deferred from project.getFilePaths
...
It was already being performed synchronously
2012-10-12 14:45:18 -07:00
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
220044c8bd
Add eachBuffer helper to RootView
...
This allows extensions to bind a callback to all current
and future buffers.
2012-10-12 09:16:53 -07:00
Kevin Sawicki
d4aeb1bb95
Move EditorCommand helpers elsewhere
...
RootView and Editor now have helpers that support
binding events to callbacks, binding a callback to
all current and future editors, and replacing the
selected text via a transforming callback.
2012-10-10 18:41:20 -07:00
Kevin Sawicki
e87cb34d1d
Support selecting inserted text
2012-10-10 18:02:48 -07:00
Corey Johnson
75d7950ef5
Fix linemap translation when an atomic token is at the end of a line.
...
Previously, if you entered an atomic token (like a tab) on an empty line it would not position the cursor after the token. This commit fixes that.
If the last screen line token is atomic, and screenLine.translateColumn's sourceColumn parameter is greater than the start position of the atomic token, then the translated column should be the end position of the atomic token.
2012-10-10 14:45:47 -07:00
Corey Johnson
8eb9d6629c
Remove unused methods from token.
...
The refactoring of Editor.buildLineHtml removed the need for these methods
2012-10-10 14:45:46 -07:00
Kevin Sawicki
7fd06c8e66
Remove logging of traversal times
2012-10-09 17:41:33 -07:00
Kevin Sawicki
d8ea07468b
Include FTS_PHYSICAL when calling fts_open
2012-10-09 17:41:33 -07:00
Kevin Sawicki
8b61e6a9df
Split out file and directory callbacks
2012-10-09 17:41:32 -07:00
Kevin Sawicki
71c161d527
Remove unneeded regex matching for built-in ignores
2012-10-09 17:41:32 -07:00
Kevin Sawicki
51a41a9a72
Add native traverseTree
2012-10-09 17:41:32 -07:00
Kevin Sawicki
8ce6810179
Support bundles with foldingStopMarker under Preferences/
2012-10-09 16:57:43 -07:00
Corey Johnson
7afbac5a4e
Merge branch 'transpose'
2012-10-09 11:03:26 -07:00
Will Farrington
d5b0e7acd2
memoize Buffer @contentOnDisk so we don't re-read the whole file on every buffer-change event
2012-10-08 18:17:15 -10:00
Will Farrington
4b3505d9b5
Disable buffer modified indicator if buffer content matches content on disk
2012-10-08 17:55:35 -10:00