Commit Graph

10961 Commits

Author SHA1 Message Date
Nathan Sobo
fe5ee524a8 Show/hide line decorations when TextEditor::mini changes 2015-02-03 15:05:18 -07:00
Nathan Sobo
9a496e62cb Don’t apply line decorations to mini editors 2015-02-03 15:05:18 -07:00
Nathan Sobo
a513cf260c Don’t apply line decorations to last line if it ends at column 0 2015-02-03 15:05:17 -07:00
Nathan Sobo
62a1210604 Honor the ‘onlyEmpty’ and ‘onlyNonEmpty’ line decoration options 2015-02-03 15:05:17 -07:00
Nathan Sobo
773482467e Handle updates to line decorations in TextEditorPresenter
This isn’t a super efficient approach, but it is simple and should be
correct. Once we move all state to the presenter we can perform a more
efficient synchronous update when markers change.
2015-02-03 15:05:17 -07:00
Nathan Sobo
06ef0792ce Add .decorationClasses to line state on initial render 2015-02-03 15:05:16 -07:00
Nathan Sobo
bf9428aa19 Read scrollWidth from the presenter state when rendering 2015-02-03 15:05:16 -07:00
Nathan Sobo
64ef8add71 Remove unused argument 2015-02-03 15:05:16 -07:00
Nathan Sobo
32a1854b7c Use TextEditorPresenter::state.content.indentGuidesVisible 2015-02-03 15:05:16 -07:00
Nathan Sobo
590391a0ce Update .content.indentGuidesVisible when editor’s grammar changes 2015-02-03 15:05:15 -07:00
Nathan Sobo
d0b52538b2 Add content.indentGuidesVisible to TextEditorPresenter::state 2015-02-03 15:05:15 -07:00
Nathan Sobo
22942ae1bd Remove unused local vars 2015-02-03 15:05:15 -07:00
Nathan Sobo
0a9f7586ae Add top-level .content object to presenter state
It contains the .scrollWidth and then all the lines in a nested .lines
object. The .width has been removed from each line and replaced with
.content.scrollWidth.
2015-02-03 15:05:15 -07:00
Nathan Sobo
3ec4b632ba Update TextEditorPresenter with scoped character widths in component
Signed-off-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
2015-02-03 15:05:15 -07:00
Nathan Sobo
115d764725 Handle scoped character widths in TextEditorPresenter
Signed-off-by: Max Brunsfeld <maxbrunsfeld@gmail.com>
2015-02-03 15:05:14 -07:00
Nathan Sobo
20bb14da81 Start using TextEditorPresenter in LinesComponent
Removed shouldComponentUpdate because we will always update the
component manually once this is done, but I don’t want to accidentally
prevent the component from updating during the conversion process.

This commit has a failing spec due to the presenter not accounting for
individual character widths.
2015-02-03 15:05:14 -07:00
Nathan Sobo
9e6aa8f873 Include more fields in line state 2015-02-03 15:05:14 -07:00
Nathan Sobo
e2693da225 Fix endRow calculation 2015-02-03 15:05:14 -07:00
Nathan Sobo
9a070e7f6d Include endOfLineInvisibles in presenter state 2015-02-03 15:05:14 -07:00
Nathan Sobo
db5059626f Use getters in TextEditorPresenter internally for consistency
::clientHeight is conditionally computed in the getter, so lets use them
everywhere for consistency.
2015-02-03 15:05:13 -07:00
Nathan Sobo
7095ccd32b Make all lines visible if no external client height is assigned 2015-02-03 15:05:13 -07:00
Nathan Sobo
ac463143dd Add 1 pixel to scrollWidth to account for cursor if not soft-wrapped 2015-02-03 15:05:13 -07:00
Nathan Sobo
2296d2d378 Account for overdrawMargin of startRow when computing the endRow 2015-02-03 15:05:13 -07:00
Nathan Sobo
143183aa25 🎨 2015-02-03 15:05:13 -07:00
Nathan Sobo
0f4bcac8d4 Add 1 to the last row to ensure it’s visible 2015-02-03 15:05:12 -07:00
Nathan Sobo
b09b54800f Include line text in presenter state 2015-02-03 15:05:12 -07:00
Nathan Sobo
2120c3c298 Instantiate presenter in TextEditorComponent and update measurements 2015-02-03 15:05:12 -07:00
Nathan Sobo
f4d8ef8315 Add width to lines state based on the computed scrollWidth
This is based on the ::baseCharacterWidth property for now. To be fully
correct, we need to base the scrollWidth on the actual width of
individual characters.
2015-02-03 15:05:12 -07:00
Nathan Sobo
a1c2e1bb66 Update TextEditorPresenter when the editor’s content changes 2015-02-03 15:05:12 -07:00
Nathan Sobo
5a2bbc945b Handle changing ::lineHeight in TextEditorPresenter 2015-02-03 15:05:12 -07:00
Nathan Sobo
9c2ed478cd Handle changing ::clientHeight in TextEditorPresenter 2015-02-03 15:05:11 -07:00
Nathan Sobo
880e1ce1f0 Handle changing ::scrollTop in TextEditorPresenter 2015-02-03 15:05:11 -07:00
Nathan Sobo
f0920bf63b Start on TextEditorPresenter with lines state 2015-02-03 15:05:11 -07:00
Kevin Sawicki
47bd093d68 🐎 Load 6to5 version directly from package.json
This prevents the entire library from being required just to check the
cache so when 6to5 is being used and all files are cached it should shave
~250ms off startup.
2015-02-03 13:36:26 -08:00
Kevin Sawicki
6ad704c1e4 Defer requiring 6to5 until it is used
It seems to have a require time of ~250ms
2015-02-03 09:05:34 -08:00
Kevin Sawicki
312e4e0e8a Be graceful about pathsToOpen string value
Gently convert it to an array of strings before opening

Closes #5340
2015-02-02 18:17:15 -08:00
Kevin Sawicki
853ad9cee3 Re-throw stylesheet compile errors
This makes it consistent with other read errors. Previously a Notification
was returned in the error case causing errors downstream where the package's
stylesheets array was assumed to be a path/content tuple.

Closes atom/deprecation-cop#22
2015-02-02 17:55:36 -08:00
Lee Dohm
23b8b15261 📝 Fix broken json-schema.org link 2015-02-02 17:22:29 -08:00
Max Brunsfeld
3739995ddb Merge pull request #5277 from atom/mb-package-json-services
Allow packages to specify services in their package.json files
2015-02-02 17:07:41 -08:00
Kevin Sawicki
9858916c31 🎨 2015-02-02 14:10:53 -08:00
Kevin Sawicki
18ed76f111 Add transpiler name dir segment 2015-02-02 14:09:49 -08:00
Kevin Sawicki
feb35e710c Make 6to5 first cache segment
Makes it easier to blow away if needed.
2015-02-02 14:08:50 -08:00
Kevin Sawicki
2e989b502a Remove unneeded try/catch 2015-02-02 14:08:35 -08:00
Kevin Sawicki
434c9e60a8 Remove console logging 2015-02-02 14:08:00 -08:00
Kevin Sawicki
84453d5441 Ignore errors writing to the cache 2015-02-02 14:07:39 -08:00
Kevin Sawicki
9e11914b8b Add helper to cache without requiring 2015-02-02 14:07:11 -08:00
Kevin Sawicki
f9f7cf6d34 Add more 6to5 specs 2015-02-02 13:29:20 -08:00
Kevin Sawicki
8365ccb064 Merge pull request #5299 from bolinfest/6to5
Transpile all .js files beginning with the "use 6to5"; pragma with 6to5.
2015-02-02 13:11:33 -08:00
Max Brunsfeld
b24b338b2c Add deprecated shim for atom.services global 2015-02-02 10:01:57 -08:00
Max Brunsfeld
65f2ffa55e Rename service keys in package.json
* serviceProvisions -> providedServices
* serviceDependencies -> consumedServices

Signed-off-by: Nathan Sobo <nathan@github.com>
2015-02-02 10:01:50 -08:00