Skip to content

Instantly share code, notes, and snippets.

@alangpierce
Created July 23, 2017 23:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save alangpierce/08611d4d1cf5572fc5a272d7468b96d6 to your computer and use it in GitHub Desktop.
Save alangpierce/08611d4d1cf5572fc5a272d7468b96d6 to your computer and use it in GitHub Desktop.
Instances of soak operations in the Atom codebase
Example from repos/atom/atom/spec/atom-environment-spec.coffee:
637 |
638 | afterEach ->
> 639 | subscription?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^
640 |
641 | it "invokes onUpdateAvailable listeners", ->
Example from repos/atom/atom/spec/atom-reporter.coffee:
18 |
19 | # Remove first line of stack when it is the same as the error message
> 20 | errorMatch = lines[0]?.match(/^Error: (.*)/)
| ^^^^^^^^^^^^^^^
21 | lines.shift() if message.trim() is errorMatch?[1]?.trim()
22 |
Example from repos/atom/atom/spec/atom-reporter.coffee:
19 | # Remove first line of stack when it is the same as the error message
20 | errorMatch = lines[0]?.match(/^Error: (.*)/)
> 21 | lines.shift() if message.trim() is errorMatch?[1]?.trim()
| ^^^^^^^^^^^^^^^^^^^^
22 |
23 | for line, index in lines
Example from repos/atom/atom/spec/atom-reporter.coffee:
19 | # Remove first line of stack when it is the same as the error message
20 | errorMatch = lines[0]?.match(/^Error: (.*)/)
> 21 | lines.shift() if message.trim() is errorMatch?[1]?.trim()
| ^^^^^^^^^^^^^^
22 |
23 | for line, index in lines
Example from repos/atom/atom/spec/git-repository-spec.coffee:
19 |
20 | afterEach ->
> 21 | repo.destroy() if repo?.repo?
| ^^^^^^^^^^
22 | try
23 | temp.cleanupSync() # These tests sometimes lag at shutting down resources
Example from repos/atom/atom/spec/git-repository-spec.coffee:
340 |
341 | afterEach ->
> 342 | project2?.destroy()
| ^^^^^^^^^^^^^^^^^
343 |
344 | it "subscribes to all the serialized buffers in the project", ->
Example from repos/atom/atom/spec/integration/helpers/start-atom.coffee:
88 | .addCommand "waitForPaneItemCount", (count, timeout, cb) ->
89 | @waitUntil(->
> 90 | @execute(-> atom.workspace?.getActivePane()?.getItems().length)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
91 | .then(({value}) -> value is count)
92 | , timeout)
Example from repos/atom/atom/spec/integration/helpers/start-atom.coffee:
88 | .addCommand "waitForPaneItemCount", (count, timeout, cb) ->
89 | @waitUntil(->
> 90 | @execute(-> atom.workspace?.getActivePane()?.getItems().length)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
91 | .then(({value}) -> value is count)
92 | , timeout)
Example from repos/atom/atom/spec/integration/helpers/start-atom.coffee:
165 |
166 | client.on "error", (err) ->
> 167 | jasmine.getEnv().currentSpec.fail(new Error(err.response?.body?.value?.message))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
168 | finish()
169 |
Example from repos/atom/atom/spec/integration/helpers/start-atom.coffee:
165 |
166 | client.on "error", (err) ->
> 167 | jasmine.getEnv().currentSpec.fail(new Error(err.response?.body?.value?.message))
| ^^^^^^^^^^^^^^^^^^^^^^^^^
168 | finish()
169 |
Example from repos/atom/atom/spec/integration/helpers/start-atom.coffee:
165 |
166 | client.on "error", (err) ->
> 167 | jasmine.getEnv().currentSpec.fail(new Error(err.response?.body?.value?.message))
| ^^^^^^^^^^^^^^^^^^
168 | finish()
169 |
Example from repos/atom/atom/spec/package-manager-spec.coffee:
504 |
505 | afterEach ->
> 506 | registration?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^
507 | mainModule = null
508 |
Example from repos/atom/atom/spec/package-spec.coffee:
40 | expect(pack.isCompatible()).toBe true
41 |
> 42 | packagePath = atom.project.getDirectories()[0]?.resolve('packages/package-with-cached-incompatible-native-module')
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
43 | pack = buildPackage(packagePath)
44 | expect(pack.isCompatible()).toBe false
Example from repos/atom/atom/spec/package-spec.coffee:
75 |
76 | it "returns a promise resolving to the results of `apm rebuild`", ->
> 77 | packagePath = atom.project.getDirectories()[0]?.resolve('packages/package-with-index')
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
78 | pack = buildPackage(packagePath)
79 | rebuildCallbacks = []
Example from repos/atom/atom/spec/package-spec.coffee:
89 |
90 | it "persists build failures in local storage", ->
> 91 | packagePath = atom.project.getDirectories()[0]?.resolve('packages/package-with-index')
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
92 | pack = buildPackage(packagePath)
93 |
Example from repos/atom/atom/spec/package-spec.coffee:
118 |
119 | it "sets cached incompatible modules to an empty array when the rebuild completes (there may be a build error, but rebuilding *deletes* native modules)", ->
> 120 | packagePath = atom.project.getDirectories()[0]?.resolve('packages/package-with-incompatible-native-module')
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
121 | pack = buildPackage(packagePath)
122 |
Example from repos/atom/atom/spec/package-spec.coffee:
144 | it "loads and applies css", ->
145 | expect(getComputedStyle(editorElement).paddingBottom).not.toBe "1234px"
> 146 | themePath = atom.project.getDirectories()[0]?.resolve('packages/theme-with-index-css')
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
147 | theme = buildThemePackage(themePath)
148 | theme.activate()
Example from repos/atom/atom/spec/package-spec.coffee:
151 | it "parses, loads and applies less", ->
152 | expect(getComputedStyle(editorElement).paddingBottom).not.toBe "1234px"
> 153 | themePath = atom.project.getDirectories()[0]?.resolve('packages/theme-with-index-less')
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
154 | theme = buildThemePackage(themePath)
155 | theme.activate()
Example from repos/atom/atom/spec/package-spec.coffee:
162 | expect(getComputedStyle(editorElement).paddingBottom).not.toBe("103px")
163 |
> 164 | themePath = atom.project.getDirectories()[0]?.resolve('packages/theme-with-package-file')
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
165 | theme = buildThemePackage(themePath)
166 | theme.activate()
Example from repos/atom/atom/spec/package-spec.coffee:
175 | expect(getComputedStyle(editorElement).paddingBottom).not.toBe "30px"
176 |
> 177 | themePath = atom.project.getDirectories()[0]?.resolve('packages/theme-without-package-file')
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
178 | theme = buildThemePackage(themePath)
179 | theme.activate()
Example from repos/atom/atom/spec/package-spec.coffee:
184 | describe "reloading a theme", ->
185 | beforeEach ->
> 186 | themePath = atom.project.getDirectories()[0]?.resolve('packages/theme-with-package-file')
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
187 | theme = buildThemePackage(themePath)
188 | theme.activate()
Example from repos/atom/atom/spec/package-spec.coffee:
195 | describe "events", ->
196 | beforeEach ->
> 197 | themePath = atom.project.getDirectories()[0]?.resolve('packages/theme-with-package-file')
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
198 | theme = buildThemePackage(themePath)
199 | theme.activate()
Example from repos/atom/atom/spec/package-spec.coffee:
208 |
209 | beforeEach ->
> 210 | packagePath = atom.project.getDirectories()[0]?.resolve('packages/package-with-different-directory-name')
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
211 | metadata = atom.packages.loadPackageMetadata(packagePath, true)
212 |
Example from repos/atom/atom/spec/project-spec.coffee:
9 | describe "Project", ->
10 | beforeEach ->
> 11 | atom.project.setPaths([atom.project.getDirectories()[0]?.resolve('dir')])
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
12 |
13 | # Wait for project's service consumers to be asynchronously added
Example from repos/atom/atom/spec/project-spec.coffee:
21 |
22 | afterEach ->
> 23 | deserializedProject?.destroy()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
24 |
25 | it "does not deserialize paths to non directories", ->
Example from repos/atom/atom/spec/project-spec.coffee:
110 | notQuittingProject = new Project({notificationManager: atom.notifications, packageManager: atom.packages, confirm: atom.confirm})
111 | notQuittingProject.deserialize(atom.project.serialize({isUnloading: false})).then ->
> 112 | expect(notQuittingProject.getBuffers()[0].getMarkerLayer(layerA.id)?.getMarker(markerA.id)).toBeUndefined()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
113 | expect(notQuittingProject.getBuffers()[0].undo()).toBe(false)
114 |
Example from repos/atom/atom/spec/project-spec.coffee:
116 | quittingProject = new Project({notificationManager: atom.notifications, packageManager: atom.packages, confirm: atom.confirm})
117 | quittingProject.deserialize(atom.project.serialize({isUnloading: true})).then ->
> 118 | expect(quittingProject.getBuffers()[0].getMarkerLayer(layerA.id)?.getMarker(markerA.id)).not.toBeUndefined()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
119 | expect(quittingProject.getBuffers()[0].undo()).toBe(true)
120 |
Example from repos/atom/atom/spec/spec-helper.coffee:
255 | promise.then(moveOn)
256 | promise.catch.call promise, (error) ->
> 257 | jasmine.getEnv().currentSpec.fail("Expected promise to be resolved, but it was rejected with: #{error?.message} #{jasmine.pp(error)}")
| ^^^^^^^^^^^^^^
258 | moveOn()
259 |
Example from repos/atom/atom/spec/squirrel-update-spec.coffee:
11 | error = null
12 | stdout = ''
> 13 | callback?(error, stdout)
| ^^^^^^^^^^^^^^^^^^^^^^^^
14 |
15 | describe "Windows Squirrel Update", ->
Example from repos/atom/atom/spec/squirrel-update-spec.coffee:
80 | jasmine.unspy(Spawner, 'spawn')
81 | spyOn(Spawner, 'spawn').andCallFake (command, args, callback) ->
> 82 | if path.basename(command) is 'Update.exe' and args?[0] is '--createShortcut' and args?[3].match /Desktop/i
| ^^^^^^^^
83 | fs.writeFileSync(desktopShortcutPath, '')
84 | else
Example from repos/atom/atom/spec/squirrel-update-spec.coffee:
80 | jasmine.unspy(Spawner, 'spawn')
81 | spyOn(Spawner, 'spawn').andCallFake (command, args, callback) ->
> 82 | if path.basename(command) is 'Update.exe' and args?[0] is '--createShortcut' and args?[3].match /Desktop/i
| ^^^^^^^^
83 | fs.writeFileSync(desktopShortcutPath, '')
84 | else
Example from repos/atom/atom/spec/text-editor-spec.coffee:
3962 | textEditor.setCursorBufferPosition([0, 0])
3963 | textEditor.insertText(text)
> 3964 | numberOfNewlines = text.match(/\n/g)?.length
| ^^^^^^^^^^^^^^^^^^^^^^^^^
3965 | endColumn = text.match(/[^\n]*$/)[0]?.length
3966 | textEditor.getLastSelection().setBufferRange([[0, startColumn], [numberOfNewlines, endColumn]])
Example from repos/atom/atom/spec/text-editor-spec.coffee:
3963 | textEditor.insertText(text)
3964 | numberOfNewlines = text.match(/\n/g)?.length
> 3965 | endColumn = text.match(/[^\n]*$/)[0]?.length
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3966 | textEditor.getLastSelection().setBufferRange([[0, startColumn], [numberOfNewlines, endColumn]])
3967 | textEditor.cutSelectedText()
Example from repos/atom/atom/spec/theme-manager-spec.coffee:
164 | atom.styles.onDidAddStyleElement styleElementAddedHandler = jasmine.createSpy("styleElementAddedHandler")
165 |
> 166 | cssPath = atom.project.getDirectories()[0]?.resolve('css.css')
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
167 | lengthBefore = document.querySelectorAll('head style').length
168 |
Example from repos/atom/atom/spec/theme-manager-spec.coffee:
186 |
187 | it "synchronously loads and parses less files at the given path and installs a style tag for it in the head", ->
> 188 | lessPath = atom.project.getDirectories()[0]?.resolve('sample.less')
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
189 | lengthBefore = document.querySelectorAll('head style').length
190 | atom.themes.requireStylesheet(lessPath)
Example from repos/atom/atom/spec/theme-manager-spec.coffee:
211 | it "supports requiring css and less stylesheets without an explicit extension", ->
212 | atom.themes.requireStylesheet path.join(__dirname, 'fixtures', 'css')
> 213 | expect(document.querySelector('head style[source-path*="css.css"]').getAttribute('source-path')).toEqualPath atom.project.getDirectories()[0]?.resolve('css.css')
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
214 | atom.themes.requireStylesheet path.join(__dirname, 'fixtures', 'sample')
215 | expect(document.querySelector('head style[source-path*="sample.less"]').getAttribute('source-path')).toEqualPath atom.project.getDirectories()[0]?.resolve('sample.less')
Example from repos/atom/atom/spec/theme-manager-spec.coffee:
213 | expect(document.querySelector('head style[source-path*="css.css"]').getAttribute('source-path')).toEqualPath atom.project.getDirectories()[0]?.resolve('css.css')
214 | atom.themes.requireStylesheet path.join(__dirname, 'fixtures', 'sample')
> 215 | expect(document.querySelector('head style[source-path*="sample.less"]').getAttribute('source-path')).toEqualPath atom.project.getDirectories()[0]?.resolve('sample.less')
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
216 |
217 | document.querySelector('head style[source-path*="css.css"]').remove()
Example from repos/atom/atom/spec/tokenized-buffer-spec.coffee:
16 |
17 | afterEach ->
> 18 | tokenizedBuffer?.destroy()
| ^^^^^^^^^^^^^^^^^^^^^^^^
19 |
20 | startTokenizing = (tokenizedBuffer) ->
Example from repos/atom/atom/src/application-delegate.coffee:
151 | else
152 | callback = buttons[buttonLabels[chosen]]
> 153 | callback?()
| ^^^^^^^^^^^
154 |
155 | showMessageDialog: (params) ->
Example from repos/atom/atom/src/atom-environment.coffee:
348 |
349 | @disposables.dispose()
> 350 | @workspace?.destroy()
| ^^^^^^^^^^^^^^^^^^^
351 | @workspace = null
352 | @themes.workspace = null
Example from repos/atom/atom/src/atom-environment.coffee:
351 | @workspace = null
352 | @themes.workspace = null
> 353 | @project?.destroy()
| ^^^^^^^^^^^^^^^^^
354 | @project = null
355 | @commands.clear()
Example from repos/atom/atom/src/atom-environment.coffee:
594 | @focus()
595 | ]
> 596 | steps.push(@setFullScreen(true)) if @windowDimensions?.fullScreen
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
597 | steps.push(@maximize()) if @windowDimensions?.maximized and process.platform isnt 'darwin'
598 | Promise.all(steps)
Example from repos/atom/atom/src/atom-environment.coffee:
595 | ]
596 | steps.push(@setFullScreen(true)) if @windowDimensions?.fullScreen
> 597 | steps.push(@maximize()) if @windowDimensions?.maximized and process.platform isnt 'darwin'
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
598 | Promise.all(steps)
599 |
Example from repos/atom/atom/src/atom-environment.coffee:
685 |
686 | loadStatePromise = @loadState().then (state) =>
> 687 | @windowDimensions = state?.windowDimensions
| ^^^^^^^^^^^^^^^^^^^^^^^
688 | @displayWindow().then =>
689 | @commandInstaller.installAtomCommand false, (error) ->
Example from repos/atom/atom/src/atom-environment.coffee:
699 | .catch(console.error)
700 | .then =>
> 701 | @workspace?.confirmClose({
| ^^^^^^^^^^^^^^^^^^^^^^^^
702 | windowCloseRequested: true,
703 | projectHasPaths: @project.getPaths().length > 0
Example from repos/atom/atom/src/atom-environment.coffee:
724 |
725 | @document.body.appendChild(@workspace.getElement())
> 726 | @backgroundStylesheet?.remove()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
727 |
728 | @watchProjectPaths()
Example from repos/atom/atom/src/atom-environment.coffee:
769 | openInitialEmptyEditorIfNecessary: ->
770 | return unless @config.get('core.openEmptyEditorOnStart')
> 771 | if @getLoadSettings().initialPaths?.length is 0 and @workspace.getPaneItems().length is 0
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
772 | @workspace.open(null)
773 |
Example from repos/atom/atom/src/atom-environment.coffee:
803 |
804 | uninstallWindowEventHandler: ->
> 805 | @windowEventHandler?.unsubscribe()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
806 | @windowEventHandler = null
807 |
Example from repos/atom/atom/src/atom-environment.coffee:
882 | if callbackOrMetadata?
883 | if typeof callbackOrMetadata is 'function'
> 884 | callbackOrMetadata?(error)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
885 | else
886 | error.metadata = callbackOrMetadata
Example from repos/atom/atom/src/atom-environment.coffee:
901 |
902 | setDocumentEdited: (edited) ->
> 903 | @applicationDelegate.setWindowDocumentEdited?(edited)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
904 |
905 | setRepresentedFilename: (filename) ->
Example from repos/atom/atom/src/atom-environment.coffee:
904 |
905 | setRepresentedFilename: (filename) ->
> 906 | @applicationDelegate.setWindowRepresentedFilename?(filename)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
907 |
908 | addProjectFolder: ->
Example from repos/atom/atom/src/atom-environment.coffee:
969 | state = @serialize(options)
970 | savePromise =
> 971 | if storageKey ?= @getStateKey(@project?.getPaths())
| ^^^^^^^^^^^^^^^^^^
972 | @stateStore.save(storageKey, state)
973 | else
Example from repos/atom/atom/src/atom-environment.coffee:
994 | return Promise.resolve() unless state?
995 |
> 996 | if grammarOverridesByPath = state.grammars?.grammarOverridesByPath
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
997 | @grammars.grammarOverridesByPath = grammarOverridesByPath
998 |
Example from repos/atom/atom/src/atom-environment.coffee:
1017 |
1018 | getStateKey: (paths) ->
> 1019 | if paths?.length > 0
| ^^^^^^^^^^^^^
1020 | sha1 = crypto.createHash('sha1').update(paths.slice().sort().join("\n")).digest('hex')
1021 | "editor-#{sha1}"
Example from repos/atom/atom/src/atom-environment.coffee:
1071 |
1072 | openLocations: (locations) ->
> 1073 | needsProjectPaths = @project?.getPaths().length is 0
| ^^^^^^^^^^^^^^^^^^
1074 |
1075 | foldersToAddToProject = []
Example from repos/atom/atom/src/atom-environment.coffee:
1102 | @project.addPath(folder) for folder in foldersToAddToProject
1103 | for {pathToOpen, initialLine, initialColumn} in fileLocationsToOpen
> 1104 | promises.push @workspace?.open(pathToOpen, {initialLine, initialColumn})
| ^^^^^^^^^^^^^^^^
1105 | Promise.all(promises)
1106 | else
Example from repos/atom/atom/src/atom-environment.coffee:
1107 | promises = []
1108 | for {pathToOpen, initialLine, initialColumn} in fileLocationsToOpen
> 1109 | promises.push @workspace?.open(pathToOpen, {initialLine, initialColumn})
| ^^^^^^^^^^^^^^^^
1110 | promise = Promise.all(promises)
1111 |
Example from repos/atom/atom/src/command-installer.coffee:
5 | symlinkCommand = (sourcePath, destinationPath, callback) ->
6 | fs.unlink destinationPath, (error) ->
> 7 | if error? and error?.code isnt 'ENOENT'
| ^^^^^^^^^^^
8 | callback(error)
9 | else
Example from repos/atom/atom/src/command-installer.coffee:
84 |
85 | symlinkCommand commandPath, destinationPath, (error) ->
> 86 | if askForPrivilege and error?.code is 'EACCES'
| ^^^^^^^^^^^
87 | try
88 | error = null
Example from repos/atom/atom/src/command-installer.coffee:
91 | error = err
92 |
> 93 | callback?(error)
| ^^^^^^^^^^^^^^^^
94 |
Example from repos/atom/atom/src/command-registry.coffee:
159 | for commandName, listeners of @selectorBasedListenersByCommandName
160 | for listener in listeners
> 161 | if currentTarget.webkitMatchesSelector?(listener.selector)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
162 | unless commandNames.has(commandName)
163 | commandNames.add(commandName)
Example from repos/atom/atom/src/command-registry.coffee:
231 | immediatePropagationStopped = true
232 | Object.defineProperty dispatchedEvent, 'abortKeyBinding', value: ->
> 233 | event.abortKeyBinding?()
| ^^^^^^^^^^^^^^^^^^^^^^^^
234 |
235 | for key in Object.keys(event)
Example from repos/atom/atom/src/command-registry.coffee:
239 |
240 | loop
> 241 | listeners = @inlineListenersByCommandName[event.type]?.get(currentTarget) ? []
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
242 | if currentTarget.webkitMatchesSelector?
243 | selectorBasedListeners =
Example from repos/atom/atom/src/config.coffee:
648 | set: ->
649 | [keyPath, value, options] = arguments
> 650 | scopeSelector = options?.scopeSelector
| ^^^^^^^^^^^^^^^^^^^^^^
651 | source = options?.source
652 | shouldSave = options?.save ? true
Example from repos/atom/atom/src/config.coffee:
649 | [keyPath, value, options] = arguments
650 | scopeSelector = options?.scopeSelector
> 651 | source = options?.source
| ^^^^^^^^^^^^^^^
652 | shouldSave = options?.save ? true
653 |
Example from repos/atom/atom/src/config.coffee:
650 | scopeSelector = options?.scopeSelector
651 | source = options?.source
> 652 | shouldSave = options?.save ? true
| ^^^^^^^^^^^^^
653 |
654 | if source and not scopeSelector
Example from repos/atom/atom/src/config.coffee:
718 | for key in keys
719 | if schema.type is 'object'
> 720 | childSchema = schema.properties?[key]
| ^^^^^^^^^^^^^^^^^^^^^^^
721 | unless childSchema?
722 | if isPlainObject(schema.additionalProperties)
Example from repos/atom/atom/src/config.coffee:
892 |
893 | unobserveUserConfig: ->
> 894 | @watchSubscription?.close()
| ^^^^^^^^^^^^^^^^^^^^^^^^^
895 | @watchSubscription = null
896 |
Example from repos/atom/atom/src/config.coffee:
896 |
897 | notifyFailure: (errorMessage, detail) ->
> 898 | @notificationManager?.addError(errorMessage, {detail, dismissable: true})
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
899 |
900 | save: ->
Example from repos/atom/atom/src/config.coffee:
937 |
938 | getRawValue: (keyPath, options) ->
> 939 | unless options?.excludeSources?.indexOf(@getUserConfigPath()) >= 0
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
940 | value = getValueAtKeyPath(@settings, keyPath)
941 | unless options?.sources?.length > 0
Example from repos/atom/atom/src/config.coffee:
937 |
938 | getRawValue: (keyPath, options) ->
> 939 | unless options?.excludeSources?.indexOf(@getUserConfigPath()) >= 0
| ^^^^^^^^^^^^^^^^^^^^^^^
940 | value = getValueAtKeyPath(@settings, keyPath)
941 | unless options?.sources?.length > 0
Example from repos/atom/atom/src/config.coffee:
939 | unless options?.excludeSources?.indexOf(@getUserConfigPath()) >= 0
940 | value = getValueAtKeyPath(@settings, keyPath)
> 941 | unless options?.sources?.length > 0
| ^^^^^^^^^^^^^^^^^^^^^^^^
942 | defaultValue = getValueAtKeyPath(@defaultSettings, keyPath)
943 |
Example from repos/atom/atom/src/config.coffee:
939 | unless options?.excludeSources?.indexOf(@getUserConfigPath()) >= 0
940 | value = getValueAtKeyPath(@settings, keyPath)
> 941 | unless options?.sources?.length > 0
| ^^^^^^^^^^^^^^^^
942 | defaultValue = getValueAtKeyPath(@defaultSettings, keyPath)
943 |
Example from repos/atom/atom/src/config.coffee:
1061 |
1062 | makeValueConformToSchema: (keyPath, value, options) ->
> 1063 | if options?.suppressException
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
1064 | try
1065 | @makeValueConformToSchema(keyPath, value)
Example from repos/atom/atom/src/context-menu-manager.coffee:
7 | MenuHelpers = require './menu-helpers'
8 |
> 9 | platformContextMenu = require('../package.json')?._atomMenu?['context-menu']
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
10 |
11 | # Extended: Provides a registry for commands that you'd like to appear in the
Example from repos/atom/atom/src/context-menu-manager.coffee:
7 | MenuHelpers = require './menu-helpers'
8 |
> 9 | platformContextMenu = require('../package.json')?._atomMenu?['context-menu']
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
10 |
11 | # Extended: Provides a registry for commands that you'd like to appear in the
Example from repos/atom/atom/src/context-menu-manager.coffee:
170 | if typeof item.shouldDisplay is 'function'
171 | return null unless item.shouldDisplay(event)
> 172 | item.created?(event)
| ^^^^^^^^^^^^^^^^^^^^
173 | if Array.isArray(item.submenu)
174 | item.submenu = item.submenu
Example from repos/atom/atom/src/context-menu-manager.coffee:
202 | menuTemplate = @templateForEvent(event)
203 |
> 204 | return unless menuTemplate?.length > 0
| ^^^^^^^^^^^^^^^^^^^^
205 | remote.getCurrentWindow().emit('context-menu', menuTemplate)
206 | return
Example from repos/atom/atom/src/cursor.coffee:
162 | {row, column} = @getBufferPosition()
163 | range = [[row, column], [row, Infinity]]
> 164 | @editor.getTextInBufferRange(range).search(options?.wordRegex ? @wordRegExp()) is 0
| ^^^^^^^^^^^^^^^^^^
165 |
166 | # Public: Returns the indentation level of the current line.
Example from repos/atom/atom/src/cursor.coffee:
409 | beginningOfWordPosition = range.start
410 |
> 411 | if not beginningOfWordPosition?.isEqual(currentBufferPosition)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
412 | stop()
413 |
Example from repos/atom/atom/src/cursor.coffee:
434 | endOfWordPosition = range.end
435 |
> 436 | if not endOfWordPosition?.isEqual(currentBufferPosition)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
437 | stop()
438 |
Example from repos/atom/atom/src/cursor.coffee:
572 | # Public: Deselects the current selection.
573 | clearSelection: (options) ->
> 574 | @selection?.clear(options)
| ^^^^^^^^^^^^^^^^^
575 |
576 | # Public: Get the RegExp used by the cursor to determine what a "word" is.
Example from repos/atom/atom/src/cursor.coffee:
584 | nonWordCharacters = _.escapeRegExp(@getNonWordCharacters())
585 | source = "^[\t ]*$|[^\\s#{nonWordCharacters}]+"
> 586 | if options?.includeNonWordCharacters ? true
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
587 | source += "|" + "[#{nonWordCharacters}]+"
588 | new RegExp(source, "g")
Example from repos/atom/atom/src/deprecated-packages.coffee:
1 | semver = require 'semver'
2 |
> 3 | deprecatedPackages = require('../package.json')?._deprecatedPackages ? {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4 | ranges = {}
5 |
Example from repos/atom/atom/src/git-repository-provider.coffee:
11 | try
12 | gitFileBuff = fs.readFileSync(gitFile, 'utf8')
> 13 | return gitFileBuff?.match(gitFileRegex)[1]
| ^^^^^^^^^^^^^^^^^^
14 |
15 | # Checks whether a valid `.git` directory is contained within the given
Example from repos/atom/atom/src/git-repository-provider.coffee:
23 | # getParent(), getFile(), getSubdirectory().
24 | gitDir = directory.getSubdirectory('.git')
> 25 | gitDirPath = pathFromGitFile(gitDir.getPath?())
| ^^^^^^^^^^^^^^^^^
26 | if gitDirPath
27 | gitDir = new Directory(directory.resolve(gitDirPath))
Example from repos/atom/atom/src/git-repository-provider.coffee:
26 | if gitDirPath
27 | gitDir = new Directory(directory.resolve(gitDirPath))
> 28 | if gitDir.existsSync?() and isValidGitDirectorySync gitDir
| ^^^^^^^^^^^^^^^^^^^^
29 | gitDir
30 | else if directory.isRoot()
Example from repos/atom/atom/src/git-repository.coffee:
181 | # repository.
182 | isProjectAtRoot: ->
> 183 | @projectAtRoot ?= @project?.relativize(@getWorkingDirectory()) is ''
| ^^^^^^^^^^^^^^^^^^^^
184 |
185 | # Public: Makes a path relative to the repository's working directory.
Example from repos/atom/atom/src/git-repository.coffee:
472 | @handlerPath ?= require.resolve('./repository-status-handler')
473 |
> 474 | relativeProjectPaths = @project?.getPaths()
| ^^^^^^^^^^^^^^^^^^
475 | .map (projectPath) => @relativize(projectPath)
476 | .filter (projectPath) -> projectPath.length > 0 and not path.isAbsolute(projectPath)
Example from repos/atom/atom/src/git-repository.coffee:
476 | .filter (projectPath) -> projectPath.length > 0 and not path.isAbsolute(projectPath)
477 |
> 478 | @statusTask?.terminate()
| ^^^^^^^^^^^^^^^^^^^^^^
479 | new Promise (resolve) =>
480 | @statusTask = Task.once @handlerPath, @getPath(), relativeProjectPaths, ({statuses, upstream, branch, submodules}) =>
Example from repos/atom/atom/src/git-repository.coffee:
490 |
491 | for submodulePath, submoduleRepo of @getRepo().submodules
> 492 | submoduleRepo.upstream = submodules[submodulePath]?.upstream ? {ahead: 0, behind: 0}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
493 |
494 | unless statusesUnchanged
Example from repos/atom/atom/src/grammar-registry.coffee:
62 |
63 | fileTypes = grammar.fileTypes
> 64 | if customFileTypes = @config.get('core.customFileTypes')?[grammar.scopeName]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
65 | fileTypes = fileTypes.concat(customFileTypes)
66 |
Example from repos/atom/atom/src/gutter.coffee:
11 | constructor: (gutterContainer, options) ->
12 | @gutterContainer = gutterContainer
> 13 | @name = options?.name
| ^^^^^^^^^^^^^
14 | @priority = options?.priority ? DefaultPriority
15 | @visible = options?.visible ? true
Example from repos/atom/atom/src/gutter.coffee:
12 | @gutterContainer = gutterContainer
13 | @name = options?.name
> 14 | @priority = options?.priority ? DefaultPriority
| ^^^^^^^^^^^^^^^^^
15 | @visible = options?.visible ? true
16 |
Example from repos/atom/atom/src/gutter.coffee:
13 | @name = options?.name
14 | @priority = options?.priority ? DefaultPriority
> 15 | @visible = options?.visible ? true
| ^^^^^^^^^^^^^^^^
16 |
17 | @emitter = new Emitter
Example from repos/atom/atom/src/keymap-extensions.coffee:
4 | CSON = require 'season'
5 |
> 6 | bundledKeymaps = require('../package.json')?._atomKeymaps
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
7 |
8 | KeymapManager::onDidLoadBundledKeymaps = (callback) ->
Example from repos/atom/atom/src/language-mode.coffee:
28 | scope = @editor.scopeDescriptorForBufferPosition([start, 0])
29 | commentStrings = @editor.getCommentStrings(scope)
> 30 | return unless commentStrings?.commentStartString
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31 | {commentStartString, commentEndString} = commentStrings
32 |
Example from repos/atom/atom/src/language-mode.coffee:
53 | else
54 | buffer.transact ->
> 55 | indentLength = buffer.lineForRow(start).match(/^\s*/)?[0].length ? 0
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
56 | buffer.insert([start, indentLength], commentStartString)
57 | buffer.insert([end, buffer.lineLengthForRow(end)], commentEndString)
Example from repos/atom/atom/src/language-mode.coffee:
62 | for row in [start..end] by 1
63 | line = buffer.lineForRow(row)
> 64 | blank = line?.match(/^\s*$/)
| ^^^^^^^^^^^
65 |
66 | allBlank = false unless blank
Example from repos/atom/atom/src/language-mode.coffee:
85 | for row in [start..end] by 1
86 | line = buffer.lineForRow(row)
> 87 | if indentLength = line.match(indentRegex)?[0].length
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
88 | buffer.insert([row, indentLength], commentStartString)
89 | else
Example from repos/atom/atom/src/language-mode.coffee:
149 |
150 | rowRangeForCommentAtBufferRow: (bufferRow) ->
> 151 | return unless @editor.tokenizedBuffer.tokenizedLines[bufferRow]?.isComment()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
152 |
153 | startRow = bufferRow
Example from repos/atom/atom/src/language-mode.coffee:
156 | if bufferRow > 0
157 | for currentRow in [bufferRow-1..0] by -1
> 158 | break unless @editor.tokenizedBuffer.tokenizedLines[currentRow]?.isComment()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
159 | startRow = currentRow
160 |
Example from repos/atom/atom/src/language-mode.coffee:
161 | if bufferRow < @buffer.getLastRow()
162 | for currentRow in [bufferRow+1..@buffer.getLastRow()] by 1
> 163 | break unless @editor.tokenizedBuffer.tokenizedLines[currentRow]?.isComment()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
164 | endRow = currentRow
165 |
Example from repos/atom/atom/src/language-mode.coffee:
175 | indentation = @editor.indentationForBufferRow(row)
176 | if indentation <= startIndentLevel
> 177 | includeRowInFold = indentation is startIndentLevel and @foldEndRegexForScopeDescriptor(scopeDescriptor)?.searchSync(@editor.lineTextForBufferRow(row))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
178 | foldEndRow = row if includeRowInFold
179 | break
Example from repos/atom/atom/src/language-mode.coffee:
190 | isLineCommentedAtBufferRow: (bufferRow) ->
191 | return false unless 0 <= bufferRow <= @editor.getLastBufferRow()
> 192 | @editor.tokenizedBuffer.tokenizedLines[bufferRow]?.isComment() ? false
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
193 |
194 | # Find a row range for a 'paragraph' around specified bufferRow. A paragraph
Example from repos/atom/atom/src/language-mode.coffee:
199 | commentStrings = @editor.getCommentStrings(scope)
200 | commentStartRegex = null
> 201 | if commentStrings?.commentStartString? and not commentStrings.commentEndString?
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
202 | commentStartRegexString = _.escapeRegExp(commentStrings.commentStartString).replace(/(\s+)$/, '(?:$1)?')
203 | commentStartRegex = new OnigRegExp("^(\\s*)(#{commentStartRegexString})")
Example from repos/atom/atom/src/language-mode.coffee:
206 | if commentStartRegex?
207 | matches = commentStartRegex.searchSync(line)
> 208 | line = line.substring(matches[0].end) if matches?.length
| ^^^^^^^^^^^^^^^
209 | line
210 |
Example from repos/atom/atom/src/language-mode.coffee:
259 | decreaseNextIndentRegex = @decreaseNextIndentRegexForScopeDescriptor(scopeDescriptor)
260 |
> 261 | if options?.skipBlankLines ? true
| ^^^^^^^^^^^^^^^^^^^^^^^
262 | precedingRow = @buffer.previousNonBlankRow(bufferRow)
263 | return 0 unless precedingRow?
Example from repos/atom/atom/src/language-mode.coffee:
271 | unless @editor.isBufferRowCommented(precedingRow)
272 | precedingLine = @buffer.lineForRow(precedingRow)
> 273 | desiredIndentLevel += 1 if increaseIndentRegex?.testSync(precedingLine)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
274 | desiredIndentLevel -= 1 if decreaseNextIndentRegex?.testSync(precedingLine)
275 |
Example from repos/atom/atom/src/language-mode.coffee:
272 | precedingLine = @buffer.lineForRow(precedingRow)
273 | desiredIndentLevel += 1 if increaseIndentRegex?.testSync(precedingLine)
> 274 | desiredIndentLevel -= 1 if decreaseNextIndentRegex?.testSync(precedingLine)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
275 |
276 | unless @buffer.isRowBlank(precedingRow)
Example from repos/atom/atom/src/language-mode.coffee:
275 |
276 | unless @buffer.isRowBlank(precedingRow)
> 277 | desiredIndentLevel -= 1 if decreaseIndentRegex?.testSync(line)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
278 |
279 | Math.max(desiredIndentLevel, 0)
Example from repos/atom/atom/src/layer-decoration.coffee:
62 |
63 | getPropertiesForMarker: (marker) ->
> 64 | @overridePropertiesByMarker?.get(marker)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
65 |
Example from repos/atom/atom/src/main-process/application-menu.coffee:
80 | enableWindowSpecificItems: (enable) ->
81 | for item in @flattenMenuItems(@menu)
> 82 | item.enabled = enable if item.metadata?.windowSpecific
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
83 | return
84 |
Example from repos/atom/atom/src/main-process/application-menu.coffee:
120 | submenu: [
121 | {label: "Check for Update", metadata: {autoUpdate: true}}
> 122 | {label: 'Reload', accelerator: 'Command+R', click: => @focusedWindow()?.reload()}
| ^^^^^^^^^^^^^^^^^^^^^^^^
123 | {label: 'Close Window', accelerator: 'Command+Shift+W', click: => @focusedWindow()?.close()}
124 | {label: 'Toggle Dev Tools', accelerator: 'Command+Alt+I', click: => @focusedWindow()?.toggleDevTools()}
Example from repos/atom/atom/src/main-process/application-menu.coffee:
121 | {label: "Check for Update", metadata: {autoUpdate: true}}
122 | {label: 'Reload', accelerator: 'Command+R', click: => @focusedWindow()?.reload()}
> 123 | {label: 'Close Window', accelerator: 'Command+Shift+W', click: => @focusedWindow()?.close()}
| ^^^^^^^^^^^^^^^^^^^^^^^
124 | {label: 'Toggle Dev Tools', accelerator: 'Command+Alt+I', click: => @focusedWindow()?.toggleDevTools()}
125 | {label: 'Quit', accelerator: 'Command+Q', click: -> app.quit()}
Example from repos/atom/atom/src/main-process/application-menu.coffee:
122 | {label: 'Reload', accelerator: 'Command+R', click: => @focusedWindow()?.reload()}
123 | {label: 'Close Window', accelerator: 'Command+Shift+W', click: => @focusedWindow()?.close()}
> 124 | {label: 'Toggle Dev Tools', accelerator: 'Command+Alt+I', click: => @focusedWindow()?.toggleDevTools()}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
125 | {label: 'Quit', accelerator: 'Command+Q', click: -> app.quit()}
126 | ]
Example from repos/atom/atom/src/main-process/application-menu.coffee:
157 | # by atom shell to provide nice icons where available.
158 | acceleratorForCommand: (command, keystrokesByCommand) ->
> 159 | firstKeystroke = keystrokesByCommand[command]?[0]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
160 | return null unless firstKeystroke
161 |
Example from repos/atom/atom/src/main-process/atom-application.coffee:
123 | if options.test or options.benchmark or options.benchmarkTest
124 | @openWithOptions(options)
> 125 | else if options.pathsToOpen?.length > 0 or options.urlsToOpen?.length > 0
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
126 | if @config.get('core.restorePreviousWindowsOnStart') is 'always'
127 | @loadState(_.deepClone(options))
Example from repos/atom/atom/src/main-process/atom-application.coffee:
123 | if options.test or options.benchmark or options.benchmarkTest
124 | @openWithOptions(options)
> 125 | else if options.pathsToOpen?.length > 0 or options.urlsToOpen?.length > 0
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
126 | if @config.get('core.restorePreviousWindowsOnStart') is 'always'
127 | @loadState(_.deepClone(options))
Example from repos/atom/atom/src/main-process/atom-application.coffee:
165 | @windows.splice(@windows.indexOf(window), 1)
166 | if @windows.length is 0
> 167 | @applicationMenu?.enableWindowSpecificItems(false)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
168 | if process.platform in ['win32', 'linux']
169 | app.quit()
Example from repos/atom/atom/src/main-process/atom-application.coffee:
174 | addWindow: (window) ->
175 | @windows.push window
> 176 | @applicationMenu?.addWindow(window.browserWindow)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
177 | window.once 'window:loaded', =>
178 | @autoUpdateManager?.emitUpdateAvailableEvent(window)
Example from repos/atom/atom/src/main-process/atom-application.coffee:
176 | @applicationMenu?.addWindow(window.browserWindow)
177 | window.once 'window:loaded', =>
> 178 | @autoUpdateManager?.emitUpdateAvailableEvent(window)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
179 |
180 | unless window.isSpec
Example from repos/atom/atom/src/main-process/atom-application.coffee:
224 | handleEvents: ->
225 | getLoadSettings = =>
> 226 | devMode: @focusedWindow()?.devMode
| ^^^^^^^^^^^^^^^^^^^^^^^^^
227 | safeMode: @focusedWindow()?.safeMode
228 |
Example from repos/atom/atom/src/main-process/atom-application.coffee:
225 | getLoadSettings = =>
226 | devMode: @focusedWindow()?.devMode
> 227 | safeMode: @focusedWindow()?.safeMode
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
228 |
229 | @on 'application:quit', -> app.quit()
Example from repos/atom/atom/src/main-process/atom-application.coffee:
234 | @on 'application:inspect', ({x, y, atomWindow}) ->
235 | atomWindow ?= @focusedWindow()
> 236 | atomWindow?.browserWindow.inspectElement(x, y)
| ^^^^^^^^^^^^^^^^^^^^^^^^^
237 |
238 | @on 'application:open-documentation', -> shell.openExternal('http://flight-manual.atom.io/')
Example from repos/atom/atom/src/main-process/atom-application.coffee:
257 | @on 'application:zoom', -> Menu.sendActionToFirstResponder('zoom:')
258 | else
> 259 | @on 'application:minimize', -> @focusedWindow()?.minimize()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
260 | @on 'application:zoom', -> @focusedWindow()?.maximize()
261 |
Example from repos/atom/atom/src/main-process/atom-application.coffee:
258 | else
259 | @on 'application:minimize', -> @focusedWindow()?.minimize()
> 260 | @on 'application:zoom', -> @focusedWindow()?.maximize()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
261 |
262 | @openPathOnEvent('application:about', 'atom://about')
Example from repos/atom/atom/src/main-process/atom-application.coffee:
289 | @disposable.add ipcHelpers.on app, 'activate', (event, hasVisibleWindows) =>
290 | unless hasVisibleWindows
> 291 | event?.preventDefault()
| ^^^^^^^^^^^^^^^^^^^^^
292 | @emit('application:new-window')
293 |
Example from repos/atom/atom/src/main-process/atom-application.coffee:
312 | if typeof options.pathsToOpen is 'string'
313 | options.pathsToOpen = [options.pathsToOpen]
> 314 | if options.pathsToOpen?.length > 0
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
315 | options.window = window
316 | @openPaths(options)
Example from repos/atom/atom/src/main-process/atom-application.coffee:
322 | @disposable.add ipcHelpers.on ipcMain, 'update-application-menu', (event, template, keystrokesByCommand) =>
323 | win = BrowserWindow.fromWebContents(event.sender)
> 324 | @applicationMenu?.update(win, template, keystrokesByCommand)
| ^^^^^^^^^^^^^^^^^^^^^^^^
325 |
326 | @disposable.add ipcHelpers.on ipcMain, 'run-package-specs', (event, packageSpecPath) =>
Example from repos/atom/atom/src/main-process/atom-application.coffee:
346 |
347 | @disposable.add ipcHelpers.respondTo 'window-method', (browserWindow, method, args...) =>
> 348 | @atomWindowForBrowserWindow(browserWindow)?[method](args...)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
349 |
350 | @disposable.add ipcHelpers.on ipcMain, 'pick-folder', (event, responseChannel) =>
Example from repos/atom/atom/src/main-process/atom-application.coffee:
390 |
391 | @disposable.add ipcHelpers.on ipcMain, 'execute-javascript-in-dev-tools', (event, code) ->
> 392 | event.sender.devToolsWebContents?.executeJavaScript(code)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
393 |
394 | @disposable.add ipcHelpers.on ipcMain, 'get-auto-update-manager-state', (event) =>
Example from repos/atom/atom/src/main-process/atom-application.coffee:
499 | # the platform.
500 | getDimensionsForNewWindow: ->
> 501 | return if (@focusedWindow() ? @lastFocusedWindow)?.isMaximized()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
502 | dimensions = (@focusedWindow() ? @lastFocusedWindow)?.getDimensions()
503 | offset = @getWindowOffsetForCurrentPlatform()
Example from repos/atom/atom/src/main-process/atom-application.coffee:
500 | getDimensionsForNewWindow: ->
501 | return if (@focusedWindow() ? @lastFocusedWindow)?.isMaximized()
> 502 | dimensions = (@focusedWindow() ? @lastFocusedWindow)?.getDimensions()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
503 | offset = @getWindowOffsetForCurrentPlatform()
504 | if dimensions? and offset?
Example from repos/atom/atom/src/main-process/atom-application.coffee:
551 | currentWindow.devMode is devMode and
552 | (
> 553 | stats.every((stat) -> stat.isFile?()) or
| ^^^^^^^^^^^^^^
554 | stats.some((stat) -> stat.isDirectory?() and not currentWindow.hasProjectPath())
555 | )
Example from repos/atom/atom/src/main-process/atom-application.coffee:
552 | (
553 | stats.every((stat) -> stat.isFile?()) or
> 554 | stats.some((stat) -> stat.isDirectory?() and not currentWindow.hasProjectPath())
| ^^^^^^^^^^^^^^^^^^^
555 | )
556 | )
Example from repos/atom/atom/src/main-process/atom-application.coffee:
617 |
618 | loadState: (options) ->
> 619 | if (@config.get('core.restorePreviousWindowsOnStart') in ['yes', 'always']) and (states = @storageFolder.load('application.json'))?.length > 0
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
620 | for state in states
621 | @openWithOptions(Object.assign(options, {
Example from repos/atom/atom/src/main-process/atom-protocol-handler.coffee:
34 | if relativePath.indexOf('assets/') is 0
35 | assetsPath = path.join(process.env.ATOM_HOME, relativePath)
> 36 | filePath = assetsPath if fs.statSyncNoException(assetsPath).isFile?()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
37 |
38 | unless filePath
Example from repos/atom/atom/src/main-process/atom-protocol-handler.coffee:
39 | for loadPath in @loadPaths
40 | filePath = path.join(loadPath, relativePath)
> 41 | break if fs.statSyncNoException(filePath).isFile?()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
42 |
43 | callback(filePath)
Example from repos/atom/atom/src/main-process/atom-window.coffee:
65 | for {pathToOpen} in locationsToOpen when pathToOpen
66 | stat = fs.statSyncNoException(pathToOpen) or null
> 67 | if stat?.isDirectory()
| ^^^^^^^^^^^^^^^^^
68 | pathToOpen
69 | else
Example from repos/atom/atom/src/main-process/atom-window.coffee:
69 | else
70 | parentDirectory = path.dirname(pathToOpen)
> 71 | if stat?.isFile() or fs.existsSync(parentDirectory)
| ^^^^^^^^^^^^
72 | parentDirectory
73 | else
Example from repos/atom/atom/src/main-process/atom-window.coffee:
135 | else if pathToCheck is projectPath
136 | true
> 137 | else if fs.statSyncNoException(pathToCheck).isDirectory?()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
138 | false
139 | else if pathToCheck.indexOf(path.join(projectPath, path.sep)) is 0
Example from repos/atom/atom/src/main-process/atom-window.coffee:
233 |
234 | sendCommandToBrowserWindow: (command, args...) ->
> 235 | action = if args[0]?.contextCommand then 'context-command' else 'command'
| ^^^^^^^^^^^^^^^^^^^^^^^
236 | @browserWindow.webContents.send action, command, args...
237 |
Example from repos/atom/atom/src/main-process/auto-updater-win32.coffee:
20 | # Last line of output is the JSON details about the releases
21 | json = stdout.trim().split('\n').pop()
> 22 | update = JSON.parse(json)?.releasesToApply?.pop?()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
23 | catch error
24 | error.stdout = stdout
Example from repos/atom/atom/src/main-process/auto-updater-win32.coffee:
20 | # Last line of output is the JSON details about the releases
21 | json = stdout.trim().split('\n').pop()
> 22 | update = JSON.parse(json)?.releasesToApply?.pop?()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
23 | catch error
24 | error.stdout = stdout
Example from repos/atom/atom/src/main-process/auto-updater-win32.coffee:
20 | # Last line of output is the JSON details about the releases
21 | json = stdout.trim().split('\n').pop()
> 22 | update = JSON.parse(json)?.releasesToApply?.pop?()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
23 | catch error
24 | error.stdout = stdout
Example from repos/atom/atom/src/main-process/spawner.coffee:
20 | catch error
21 | # Spawn can throw an error
> 22 | process.nextTick -> callback?(error, stdout)
| ^^^^^^^^^^^^^^^^^^^^^^^^
23 | return
24 |
Example from repos/atom/atom/src/main-process/spawner.coffee:
29 | spawnedProcess.on 'close', (code, signal) ->
30 | error ?= new Error("Command failed: #{signal ? code}") if code isnt 0
> 31 | error?.code ?= code
| ^^^^^^^^^^^
32 | error?.stdout ?= stdout
33 | callback?(error, stdout)
Example from repos/atom/atom/src/main-process/spawner.coffee:
30 | error ?= new Error("Command failed: #{signal ? code}") if code isnt 0
31 | error?.code ?= code
> 32 | error?.stdout ?= stdout
| ^^^^^^^^^^^^^
33 | callback?(error, stdout)
34 | # This is necessary if using Powershell 2 on Windows 7 to get the events to raise
Example from repos/atom/atom/src/main-process/spawner.coffee:
31 | error?.code ?= code
32 | error?.stdout ?= stdout
> 33 | callback?(error, stdout)
| ^^^^^^^^^^^^^^^^^^^^^^^^
34 | # This is necessary if using Powershell 2 on Windows 7 to get the events to raise
35 | # http://stackoverflow.com/questions/9155289/calling-powershell-from-nodejs
Example from repos/atom/atom/src/main-process/squirrel-update.coffee:
119 | # Restart Atom using the version pointed to by the atom.cmd shim
120 | exports.restartAtom = (app) ->
> 121 | if projectPath = global.atomApplication?.lastFocusedWindow?.projectPath
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
122 | args = [projectPath]
123 | app.once 'will-quit', -> Spawner.spawn(path.join(binFolder, 'atom.cmd'), args)
Example from repos/atom/atom/src/main-process/squirrel-update.coffee:
119 | # Restart Atom using the version pointed to by the atom.cmd shim
120 | exports.restartAtom = (app) ->
> 121 | if projectPath = global.atomApplication?.lastFocusedWindow?.projectPath
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
122 | args = [projectPath]
123 | app.once 'will-quit', -> Spawner.spawn(path.join(binFolder, 'atom.cmd'), args)
Example from repos/atom/atom/src/menu-helpers.coffee:
15 | unless itemSpecificity < ItemSpecificities.get(matchingItem)
16 | menu[matchingItemIndex] = item
> 17 | else unless item.type is 'separator' and _.last(menu)?.type is 'separator'
| ^^^^^^^^^^^^^^^^^^
18 | menu.push(item)
19 |
Example from repos/atom/atom/src/menu-helpers.coffee:
28 | unmerge(matchingItem.submenu, submenuItem) for submenuItem in item.submenu
29 |
> 30 | unless matchingItem.submenu?.length > 0
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
31 | menu.splice(matchingItemIndex, 1)
32 |
Example from repos/atom/atom/src/menu-manager.coffee:
9 | MenuHelpers = require './menu-helpers'
10 |
> 11 | platformMenu = require('../package.json')?._atomMenu?.menu
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
12 |
13 | # Extended: Provides a registry for menu items that you'd like to appear in the
Example from repos/atom/atom/src/menu-manager.coffee:
9 | MenuHelpers = require './menu-helpers'
10 |
> 11 | platformMenu = require('../package.json')?._atomMenu?.menu
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
12 |
13 | # Extended: Provides a registry for menu items that you'd like to appear in the
Example from repos/atom/atom/src/menu-manager.coffee:
192 | # Get an {Array} of {String} classes for the given element.
193 | classesForElement: (element) ->
> 194 | if classList = element?.classList
| ^^^^^^^^^^^^^^^^^^
195 | Array::slice.apply(classList)
196 | else
Example from repos/atom/atom/src/menu-manager.coffee:
199 | sortPackagesMenu: ->
200 | packagesMenu = _.find @template, ({label}) -> MenuHelpers.normalizeLabel(label) is 'Packages'
> 201 | return unless packagesMenu?.submenu?
| ^^^^^^^^^^^^^^^^^^^^^
202 |
203 | packagesMenu.submenu.sort (item1, item2) ->
Example from repos/atom/atom/src/model.coffee:
8 |
9 | constructor: (params) ->
> 10 | @assignId(params?.id)
| ^^^^^^^^^^
11 |
12 | assignId: (id) ->
Example from repos/atom/atom/src/model.coffee:
17 | return unless @isAlive()
18 | @alive = false
> 19 | @destroyed?()
| ^^^^^^^^^^^^^
20 |
21 | isAlive: -> @alive
Example from repos/atom/atom/src/module-cache.coffee:
51 | for childPath in fs.listSync(path.join(modulePath, 'node_modules'))
52 | continue if path.basename(childPath) is '.bin'
> 53 | continue if rootPath is modulePath and rootMetadata.packageDependencies?.hasOwnProperty(path.basename(childPath))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
54 |
55 | childMetadataPath = path.join(childPath, 'package.json')
Example from repos/atom/atom/src/module-cache.coffee:
57 |
58 | childMetadata = JSON.parse(fs.readFileSync(childMetadataPath))
> 59 | if childMetadata?.version
| ^^^^^^^^^^^^^^^^^^^^^^
60 | try
61 | mainPath = require.resolve(childPath)
Example from repos/atom/atom/src/module-cache.coffee:
79 | return unless fs.isFileSync(metadataPath)
80 |
> 81 | dependencies = JSON.parse(fs.readFileSync(metadataPath))?.dependencies ? {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
82 |
83 | for name, version of dependencies
Example from repos/atom/atom/src/module-cache.coffee:
104 | for childPath in fs.listSync(path.join(modulePath, 'node_modules'))
105 | continue if path.basename(childPath) is '.bin'
> 106 | continue if rootPath is modulePath and rootMetadata.packageDependencies?.hasOwnProperty(path.basename(childPath))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
107 |
108 | loadFolderCompatibility(childPath, rootPath, rootMetadata, moduleCache)
Example from repos/atom/atom/src/module-cache.coffee:
136 | if parentPath is nodeModulesPath
137 | packageName = path.basename(childPath)
> 138 | return false if rootMetadata.packageDependencies?.hasOwnProperty(packageName)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
139 |
140 | true
Example from repos/atom/atom/src/module-cache.coffee:
152 | resolveFilePath = (relativePath, parentModule) ->
153 | return unless relativePath
> 154 | return unless parentModule?.filename
| ^^^^^^^^^^^^^^^^^^^^^^
155 | return unless relativePath[0] is '.' or isAbsolute(relativePath)
156 |
Example from repos/atom/atom/src/module-cache.coffee:
160 | extension = path.extname(resolvedPath)
161 | if extension
> 162 | return resolvedPath if cache.extensions[extension]?.has(resolvedPath)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
163 | else
164 | for extension, paths of cache.extensions
Example from repos/atom/atom/src/module-cache.coffee:
170 | resolveModulePath = (relativePath, parentModule) ->
171 | return unless relativePath
> 172 | return unless parentModule?.filename
| ^^^^^^^^^^^^^^^^^^^^^^
173 |
174 | nativeModules ?= process.binding('natives')
Example from repos/atom/atom/src/module-cache.coffee:
179 | folderPath = path.dirname(parentModule.filename)
180 |
> 181 | range = cache.folders[folderPath]?[relativePath]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
182 | unless range?
183 | if builtinPath = cache.builtins[relativePath]
Example from repos/atom/atom/src/module-cache.coffee:
262 | return
263 |
> 264 | cacheToAdd = metadata?._atomModuleCache
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
265 | return unless cacheToAdd?
266 |
Example from repos/atom/atom/src/overlay-manager.coffee:
21 | cachedOverlay = @overlaysById[decorationId]
22 | return true unless cachedOverlay?
> 23 | cachedOverlay.pixelPosition?.top isnt overlay.pixelPosition?.top or
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
24 | cachedOverlay.pixelPosition?.left isnt overlay.pixelPosition?.left
25 |
Example from repos/atom/atom/src/overlay-manager.coffee:
21 | cachedOverlay = @overlaysById[decorationId]
22 | return true unless cachedOverlay?
> 23 | cachedOverlay.pixelPosition?.top isnt overlay.pixelPosition?.top or
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
24 | cachedOverlay.pixelPosition?.left isnt overlay.pixelPosition?.left
25 |
Example from repos/atom/atom/src/overlay-manager.coffee:
22 | return true unless cachedOverlay?
23 | cachedOverlay.pixelPosition?.top isnt overlay.pixelPosition?.top or
> 24 | cachedOverlay.pixelPosition?.left isnt overlay.pixelPosition?.left
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
25 |
26 | measureOverlay: (decorationId, itemView) ->
Example from repos/atom/atom/src/overlay-manager.coffee:
22 | return true unless cachedOverlay?
23 | cachedOverlay.pixelPosition?.top isnt overlay.pixelPosition?.top or
> 24 | cachedOverlay.pixelPosition?.left isnt overlay.pixelPosition?.left
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
25 |
26 | measureOverlay: (decorationId, itemView) ->
Example from repos/atom/atom/src/overlay-manager.coffee:
31 | itemView = @views.getView(item)
32 | cachedOverlay = @overlaysById[decorationId]
> 33 | unless overlayNode = cachedOverlay?.overlayNode
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
34 | overlayNode = document.createElement('atom-overlay')
35 | overlayNode.classList.add(klass) if klass?
Example from repos/atom/atom/src/package-manager.coffee:
205 | enablePackage: (name) ->
206 | pack = @loadPackage(name)
> 207 | pack?.enable()
| ^^^^^^^^^^^^
208 | pack
209 |
Example from repos/atom/atom/src/package-manager.coffee:
217 |
218 | unless @isPackageDisabled(name)
> 219 | pack?.disable()
| ^^^^^^^^^^^^^
220 |
221 | pack
Example from repos/atom/atom/src/package-manager.coffee:
305 | packages = []
306 | for pack in @getAvailablePackages()
> 307 | metadata = @getLoadedPackage(pack.name)?.metadata ? @loadPackageMetadata(pack, true)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
308 | packages.push(metadata)
309 | packages
Example from repos/atom/atom/src/package-manager.coffee:
351 | hasAtomEngine: (packagePath) ->
352 | metadata = @loadPackageMetadata(packagePath, true)
> 353 | metadata?.engines?.atom?
| ^^^^^^^^^^^^^^^^^^^^^^^
354 |
355 | unobserveDisabledPackages: ->
Example from repos/atom/atom/src/package-manager.coffee:
351 | hasAtomEngine: (packagePath) ->
352 | metadata = @loadPackageMetadata(packagePath, true)
> 353 | metadata?.engines?.atom?
| ^^^^^^^^^^^^^^^^^
354 |
355 | unobserveDisabledPackages: ->
Example from repos/atom/atom/src/package-manager.coffee:
354 |
355 | unobserveDisabledPackages: ->
> 356 | @disabledPackagesSubscription?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
357 | @disabledPackagesSubscription = null
358 |
Example from repos/atom/atom/src/package-manager.coffee:
367 |
368 | unobservePackagesWithKeymapsDisabled: ->
> 369 | @packagesWithKeymapsDisabledSubscription?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
370 | @packagesWithKeymapsDisabledSubscription = null
371 |
Example from repos/atom/atom/src/package-manager.coffee:
377 | disabledPackageNames = new Set(@config.get('core.disabledPackages'))
378 | for packageName in keymapsToDisable when not disabledPackageNames.has(packageName)
> 379 | @getLoadedPackage(packageName)?.deactivateKeymaps()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
380 | for packageName in keymapsToEnable when not disabledPackageNames.has(packageName)
381 | @getLoadedPackage(packageName)?.activateKeymaps()
Example from repos/atom/atom/src/package-manager.coffee:
379 | @getLoadedPackage(packageName)?.deactivateKeymaps()
380 | for packageName in keymapsToEnable when not disabledPackageNames.has(packageName)
> 381 | @getLoadedPackage(packageName)?.activateKeymaps()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
382 | null
383 |
Example from repos/atom/atom/src/package-manager.coffee:
391 | metadata.name = packageName
392 |
> 393 | if metadata.repository?.type is 'git' and typeof metadata.repository.url is 'string'
| ^^^^^^^^^^^^^^^^^^^^^^^^^
394 | metadata.repository.url = metadata.repository.url.replace(/(^git\+)|(\.git$)/g, '')
395 |
Example from repos/atom/atom/src/package-manager.coffee:
437 | preloadedPackage = @preloadedPackages[availablePackage.name]
438 |
> 439 | if disabledPackageNames?.has(availablePackage.name)
| ^^^^^^^^^^^^^^^^^^^^^^^^^
440 | if preloadedPackage?
441 | preloadedPackage.deactivate()
Example from repos/atom/atom/src/package-manager.coffee:
566 |
567 | serializePackage: (pack) ->
> 568 | @setPackageState(pack.name, state) if state = pack.serialize?()
| ^^^^^^^^^^^^^^^^^
569 |
570 | # Deactivate all packages
Example from repos/atom/atom/src/package-manager.coffee:
606 | reloadActivePackageStyleSheets: ->
607 | for pack in @getActivePackages() when pack.getType() isnt 'theme'
> 608 | pack.reloadStylesheets?()
| ^^^^^^^^^^^^^^^^^^^^^^^^^
609 | return
610 |
Example from repos/atom/atom/src/package-manager.coffee:
614 |
615 | @resourcePathWithTrailingSlash ?= "#{@resourcePath}#{path.sep}"
> 616 | packagePath?.startsWith(@resourcePathWithTrailingSlash)
| ^^^^^^^^^^^^^^^^^^^^^^^
617 |
618 | loadPackageMetadata: (packagePathOrAvailablePackage, ignoreErrors=false) ->
Example from repos/atom/atom/src/package-manager.coffee:
628 |
629 | if isBundled
> 630 | metadata = @packagesCache[packageName]?.metadata
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
631 |
632 | unless metadata?
Example from repos/atom/atom/src/package-manager.coffee:
642 | metadata.name = packageName
643 |
> 644 | if metadata.repository?.type is 'git' and typeof metadata.repository.url is 'string'
| ^^^^^^^^^^^^^^^^^^^^^^^^^
645 | metadata.repository.url = metadata.repository.url.replace(/(^git\+)|(\.git$)/g, '')
646 |
Example from repos/atom/atom/src/package-manager.coffee:
648 |
649 | normalizePackageMetadata: (metadata) ->
> 650 | unless metadata?._id
| ^^^^^^^^^^^^^
651 | normalizePackageData ?= require 'normalize-package-data'
652 | normalizePackageData(metadata)
Example from repos/atom/atom/src/package.coffee:
42 | @metadata ?= @packageManager.loadPackageMetadata(@path)
43 | @bundledPackage ?= @packageManager.isBundledPackagePath(@path)
> 44 | @name = @metadata?.name ? params.name ? path.basename(@path)
| ^^^^^^^^^^^^^^^
45 | @reset()
46 |
Example from repos/atom/atom/src/package.coffee:
68 |
69 | isTheme: ->
> 70 | @metadata?.theme?
| ^^^^^^^^^^^^^^^^
71 |
72 | measure: (key, fn) ->
Example from repos/atom/atom/src/package.coffee:
154 | # providers are used.
155 | @requireMainModule() unless @mainModule?
> 156 | @mainModule.initialize?(@packageManager.getPackageState(@name) ? {})
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
157 | @mainInitialized = true
158 | catch error
Example from repos/atom/atom/src/package.coffee:
185 | if @mainModule? and not @mainActivated
186 | @initializeIfNeeded()
> 187 | @mainModule.activateConfig?()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
188 | @mainModule.activate?(@packageManager.getPackageState(@name) ? {})
189 | @mainActivated = true
Example from repos/atom/atom/src/package.coffee:
186 | @initializeIfNeeded()
187 | @mainModule.activateConfig?()
> 188 | @mainModule.activate?(@packageManager.getPackageState(@name) ? {})
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
189 | @mainActivated = true
190 | @activateServices()
Example from repos/atom/atom/src/package.coffee:
189 | @mainActivated = true
190 | @activateServices()
> 191 | @activationCommandSubscriptions?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
192 | @activationHookSubscriptions?.dispose()
193 | catch error
Example from repos/atom/atom/src/package.coffee:
190 | @activateServices()
191 | @activationCommandSubscriptions?.dispose()
> 192 | @activationHookSubscriptions?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
193 | catch error
194 | @handleError("Failed to activate the #{@name} package", error)
Example from repos/atom/atom/src/package.coffee:
194 | @handleError("Failed to activate the #{@name} package", error)
195 |
> 196 | @resolveActivationPromise?()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
197 |
198 | registerConfigSchemaFromMetadata: ->
Example from repos/atom/atom/src/package.coffee:
277 | return if not @keymapActivated
278 |
> 279 | @keymapDisposables?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
280 | @menuManager.update()
281 |
Example from repos/atom/atom/src/package.coffee:
373 |
374 | activateCoreStartupServices: ->
> 375 | if directoryProviderService = @metadata.providedServices?['atom.directory-provider']
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
376 | @requireMainModule()
377 | servicesByVersion = {}
Example from repos/atom/atom/src/package.coffee:
394 |
395 | getStylesheetPaths: ->
> 396 | if @bundledPackage and @packageManager.packagesCache[@name]?.styleSheetPaths?
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
397 | styleSheetPaths = @packageManager.packagesCache[@name].styleSheetPaths
398 | styleSheetPaths.map (styleSheetPath) => path.join(@path, styleSheetPath)
Example from repos/atom/atom/src/package.coffee:
495 | if @mainActivated
496 | try
> 497 | @mainModule?.serialize?()
| ^^^^^^^^^^^^^^^^^^^^^^^^^
498 | catch e
499 | console.error "Error serializing package '#{@name}'", e.stack
Example from repos/atom/atom/src/package.coffee:
495 | if @mainActivated
496 | try
> 497 | @mainModule?.serialize?()
| ^^^^^^^^^^^^^^^^^^^^^^
498 | catch e
499 | console.error "Error serializing package '#{@name}'", e.stack
Example from repos/atom/atom/src/package.coffee:
502 | @activationPromise = null
503 | @resolveActivationPromise = null
> 504 | @activationCommandSubscriptions?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
505 | @activationHookSubscriptions?.dispose()
506 | @configSchemaRegisteredOnActivate = false
Example from repos/atom/atom/src/package.coffee:
503 | @resolveActivationPromise = null
504 | @activationCommandSubscriptions?.dispose()
> 505 | @activationHookSubscriptions?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
506 | @configSchemaRegisteredOnActivate = false
507 | @deactivateResources()
Example from repos/atom/atom/src/package.coffee:
509 | if @mainActivated
510 | try
> 511 | @mainModule?.deactivate?()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
512 | @mainModule?.deactivateConfig?()
513 | @mainActivated = false
Example from repos/atom/atom/src/package.coffee:
509 | if @mainActivated
510 | try
> 511 | @mainModule?.deactivate?()
| ^^^^^^^^^^^^^^^^^^^^^^^
512 | @mainModule?.deactivateConfig?()
513 | @mainActivated = false
Example from repos/atom/atom/src/package.coffee:
510 | try
511 | @mainModule?.deactivate?()
> 512 | @mainModule?.deactivateConfig?()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
513 | @mainActivated = false
514 | @mainInitialized = false
Example from repos/atom/atom/src/package.coffee:
510 | try
511 | @mainModule?.deactivate?()
> 512 | @mainModule?.deactivateConfig?()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
513 | @mainActivated = false
514 | @mainInitialized = false
Example from repos/atom/atom/src/package.coffee:
520 | grammar.deactivate() for grammar in @grammars
521 | settings.deactivate() for settings in @settings
> 522 | @stylesheetDisposables?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
523 | @activationDisposables?.dispose()
524 | @keymapDisposables?.dispose()
Example from repos/atom/atom/src/package.coffee:
521 | settings.deactivate() for settings in @settings
522 | @stylesheetDisposables?.dispose()
> 523 | @activationDisposables?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
524 | @keymapDisposables?.dispose()
525 | @stylesheetsActivated = false
Example from repos/atom/atom/src/package.coffee:
522 | @stylesheetDisposables?.dispose()
523 | @activationDisposables?.dispose()
> 524 | @keymapDisposables?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
525 | @stylesheetsActivated = false
526 | @grammarsActivated = false
Example from repos/atom/atom/src/package.coffee:
534 | @handleError("Failed to reload the #{@name} package stylesheets", error)
535 |
> 536 | @stylesheetDisposables?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
537 | @stylesheetDisposables = new CompositeDisposable
538 | @stylesheetsActivated = false
Example from repos/atom/atom/src/package.coffee:
584 |
585 | hasActivationHooks: ->
> 586 | @getActivationHooks()?.length > 0
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
587 |
588 | hasActivationCommands: ->
Example from repos/atom/atom/src/package.coffee:
675 |
676 | if @metadata._atomModuleCache?
> 677 | relativeNativeModuleBindingPaths = @metadata._atomModuleCache.extensions?['.node'] ? []
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
678 | for relativeNativeModuleBindingPath in relativeNativeModuleBindingPaths
679 | nativeModulePath = path.join(@path, relativeNativeModuleBindingPath, '..', '..', '..')
Example from repos/atom/atom/src/pane-axis-element.coffee:
32 |
33 | isPaneResizeHandleElement: (element) ->
> 34 | element?.nodeName.toLowerCase() is 'atom-pane-resize-handle'
| ^^^^^^^^^^^^^^^^^
35 |
36 | childAdded: ({child, index}) ->
Example from repos/atom/atom/src/pane-axis-element.coffee:
62 | @childRemoved({child: oldChild, index})
63 | @childAdded({child: newChild, index})
> 64 | focusedElement?.focus() if document.activeElement is document.body
| ^^^^^^^^^^^^^^^^^^^^^
65 |
66 | flexScaleChanged: (flexScale) -> @style.flexGrow = flexScale
Example from repos/atom/atom/src/pane-container-element.coffee:
16 | rootChanged: (root) ->
17 | focusedElement = document.activeElement if @hasFocus()
> 18 | @firstChild?.remove()
| ^^^^^^^^^^^^^^^^^^^
19 | if root?
20 | view = @views.getView(root)
Example from repos/atom/atom/src/pane-container-element.coffee:
20 | view = @views.getView(root)
21 | @appendChild(view)
> 22 | focusedElement?.focus()
| ^^^^^^^^^^^^^^^^^^^^^
23 |
24 | hasFocus: ->
Example from repos/atom/atom/src/pane-element.coffee:
86 | itemView = @views.getView(item)
87 |
> 88 | if itemPath = item.getPath?()
| ^^^^^^^^^^^^^^^
89 | @dataset.activeItemName = path.basename(itemPath)
90 | @dataset.activeItemPath = itemPath
Example from repos/atom/atom/src/pane-resize-handle-element.coffee:
18 | resizeToFitContent: ->
19 | # clear flex-grow css style of both pane
> 20 | @previousSibling?.model.setFlexScale(1)
| ^^^^^^^^^^^^^^^^^^^^^^^
21 | @nextSibling?.model.setFlexScale(1)
22 |
Example from repos/atom/atom/src/pane-resize-handle-element.coffee:
19 | # clear flex-grow css style of both pane
20 | @previousSibling?.model.setFlexScale(1)
> 21 | @nextSibling?.model.setFlexScale(1)
| ^^^^^^^^^^^^^^^^^^^
22 |
23 | resizeStarted: (e) ->
Example from repos/atom/atom/src/pane.coffee:
61 | @focused ?= false
62 |
> 63 | @addItems(compact(params?.items ? []))
| ^^^^^^^^^^^^^
64 | @setActiveItem(@items[0]) unless @getActiveItem()?
65 | @addItemsToStack(params?.itemStackIndices ? [])
Example from repos/atom/atom/src/pane.coffee:
63 | @addItems(compact(params?.items ? []))
64 | @setActiveItem(@items[0]) unless @getActiveItem()?
> 65 | @addItemsToStack(params?.itemStackIndices ? [])
| ^^^^^^^^^^^^^^^^^^^^^^^^
66 | @setFlexScale(params?.flexScale ? 1)
67 |
Example from repos/atom/atom/src/pane.coffee:
64 | @setActiveItem(@items[0]) unless @getActiveItem()?
65 | @addItemsToStack(params?.itemStackIndices ? [])
> 66 | @setFlexScale(params?.flexScale ? 1)
| ^^^^^^^^^^^^^^^^^
67 |
68 | getElement: ->
Example from repos/atom/atom/src/pane.coffee:
333 |
334 | unsubscribeFromItem: (item) ->
> 335 | @subscriptionsPerItem.get(item)?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
336 | @subscriptionsPerItem.delete(item)
337 |
Example from repos/atom/atom/src/pane.coffee:
357 | @activeItem = activeItem
358 | @emitter.emit 'did-change-active-item', @activeItem
> 359 | @container?.didChangeActiveItemOnPane(this, @activeItem)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
360 | @activeItem
361 |
Example from repos/atom/atom/src/pane.coffee:
499 |
500 | throw new Error("Pane items must be objects. Attempted to add item #{item}.") unless item? and typeof item is 'object'
> 501 | throw new Error("Adding a pane item with URI '#{item.getURI?()}' that has already been destroyed") if item.isDestroyed?()
| ^^^^^^^^^^^^^^^^^^^
502 |
503 | return if item in @items
Example from repos/atom/atom/src/pane.coffee:
499 |
500 | throw new Error("Pane items must be objects. Attempted to add item #{item}.") unless item? and typeof item is 'object'
> 501 | throw new Error("Adding a pane item with URI '#{item.getURI?()}' that has already been destroyed") if item.isDestroyed?()
| ^^^^^^^^^^^^^^
502 |
503 | return if item in @items
Example from repos/atom/atom/src/pane.coffee:
518 |
519 | @emitter.emit 'did-add-item', {item, index, moved}
> 520 | @container?.didAddPaneItem(item, this, index) unless moved
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
521 |
522 | @destroyItem(lastPendingItem) if replacingPendingItem
Example from repos/atom/atom/src/pane.coffee:
571 | @items.splice(index, 1)
572 | @emitter.emit 'did-remove-item', {item, index, destroyed: not moved, moved}
> 573 | @container?.didDestroyPaneItem({item, index, pane: this}) unless moved
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
574 | @destroy() if @items.length is 0 and @config.get('core.destroyEmptyPanes')
575 |
Example from repos/atom/atom/src/pane.coffee:
622 | index = @items.indexOf(item)
623 | if index isnt -1
> 624 | return false if not force and @getContainer()?.getLocation() isnt 'center' and item.isPermanentDockItem?()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
625 | @emitter.emit 'will-destroy-item', {item, index}
626 | @container?.willDestroyPaneItem({item, index, pane: this})
Example from repos/atom/atom/src/pane.coffee:
622 | index = @items.indexOf(item)
623 | if index isnt -1
> 624 | return false if not force and @getContainer()?.getLocation() isnt 'center' and item.isPermanentDockItem?()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
625 | @emitter.emit 'will-destroy-item', {item, index}
626 | @container?.willDestroyPaneItem({item, index, pane: this})
Example from repos/atom/atom/src/pane.coffee:
624 | return false if not force and @getContainer()?.getLocation() isnt 'center' and item.isPermanentDockItem?()
625 | @emitter.emit 'will-destroy-item', {item, index}
> 626 | @container?.willDestroyPaneItem({item, index, pane: this})
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
627 | if force or not item?.shouldPromptToSave?()
628 | @removeItem(item, false)
Example from repos/atom/atom/src/pane.coffee:
625 | @emitter.emit 'will-destroy-item', {item, index}
626 | @container?.willDestroyPaneItem({item, index, pane: this})
> 627 | if force or not item?.shouldPromptToSave?()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
628 | @removeItem(item, false)
629 | item.destroy?()
Example from repos/atom/atom/src/pane.coffee:
625 | @emitter.emit 'will-destroy-item', {item, index}
626 | @container?.willDestroyPaneItem({item, index, pane: this})
> 627 | if force or not item?.shouldPromptToSave?()
| ^^^^^^^^^^^^^^^^^^^^^^^^
628 | @removeItem(item, false)
629 | item.destroy?()
Example from repos/atom/atom/src/pane.coffee:
627 | if force or not item?.shouldPromptToSave?()
628 | @removeItem(item, false)
> 629 | item.destroy?()
| ^^^^^^^^^^^^^^^
630 | else
631 | @promptToSaveItem(item).then (result) =>
Example from repos/atom/atom/src/pane.coffee:
632 | if result
633 | @removeItem(item, false)
> 634 | item.destroy?()
| ^^^^^^^^^^^^^^^
635 | result
636 |
Example from repos/atom/atom/src/pane.coffee:
650 |
651 | promptToSaveItem: (item, options={}) ->
> 652 | return Promise.resolve(true) unless item.shouldPromptToSave?(options)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
653 |
654 | if typeof item.getURI is 'function'
Example from repos/atom/atom/src/pane.coffee:
679 | saveError = (error) =>
680 | if error
> 681 | saveDialog("Save as", @saveItemAs, "'#{item.getTitle?() ? uri}' could not be saved.\nError: #{@getMessageForErrorCode(error.code)}")
| ^^^^^^^^^^^^^^^^
682 | else
683 | Promise.resolve(true)
Example from repos/atom/atom/src/pane.coffee:
683 | Promise.resolve(true)
684 |
> 685 | saveDialog("Save", @saveItem, "'#{item.getTitle?() ? uri}' has changes, do you want to save them?")
| ^^^^^^^^^^^^^^^^
686 |
687 | # Public: Save the active item.
Example from repos/atom/atom/src/pane.coffee:
709 | # Returns a {Promise} that resolves when the save is complete
710 | saveItem: (item, nextAction) =>
> 711 | if typeof item?.getURI is 'function'
| ^^^^^^^^^^^^
712 | itemURI = item.getURI()
713 | else if typeof item?.getUri is 'function'
Example from repos/atom/atom/src/pane.coffee:
711 | if typeof item?.getURI is 'function'
712 | itemURI = item.getURI()
> 713 | else if typeof item?.getUri is 'function'
| ^^^^^^^^^^^^
714 | itemURI = item.getUri()
715 |
Example from repos/atom/atom/src/pane.coffee:
717 | if item.save?
718 | promisify -> item.save()
> 719 | .then -> nextAction?()
| ^^^^^^^^^^^^^
720 | .catch (error) =>
721 | if nextAction
Example from repos/atom/atom/src/pane.coffee:
724 | @handleSaveError(error, item)
725 | else
> 726 | nextAction?()
| ^^^^^^^^^^^^^
727 | else
728 | @saveItemAs(item, nextAction)
Example from repos/atom/atom/src/pane.coffee:
737 | # provided
738 | saveItemAs: (item, nextAction) =>
> 739 | return unless item?.saveAs?
| ^^^^^^^^^^^^
740 |
741 | saveOptions = item.getSaveDialogOptions?() ? {}
Example from repos/atom/atom/src/pane.coffee:
739 | return unless item?.saveAs?
740 |
> 741 | saveOptions = item.getSaveDialogOptions?() ? {}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
742 | saveOptions.defaultPath ?= item.getPath()
743 | newItemPath = @applicationDelegate.showSaveDialog(saveOptions)
Example from repos/atom/atom/src/pane.coffee:
744 | if newItemPath
745 | promisify -> item.saveAs(newItemPath)
> 746 | .then -> nextAction?()
| ^^^^^^^^^^^^^
747 | .catch (error) =>
748 | if nextAction?
Example from repos/atom/atom/src/pane.coffee:
756 | saveItems: ->
757 | for item in @getItems()
> 758 | @saveItem(item) if item.isModified?()
| ^^^^^^^^^^^^^^^^^^
759 | return
760 |
Example from repos/atom/atom/src/pane.coffee:
785 |
786 | copyActiveItem: ->
> 787 | @activeItem?.copy?()
| ^^^^^^^^^^^^^^^^^^^^
788 |
789 | ###
Example from repos/atom/atom/src/pane.coffee:
785 |
786 | copyActiveItem: ->
> 787 | @activeItem?.copy?()
| ^^^^^^^^^^^^^^^^^
788 |
789 | ###
Example from repos/atom/atom/src/pane.coffee:
795 | # Returns a {Boolean}.
796 | isActive: ->
> 797 | @container?.getActivePane() is this
| ^^^^^^^^^^^^^^^^^^^^^^^^^
798 |
799 | # Public: Makes this pane the *active* pane, causing it to gain focus.
Example from repos/atom/atom/src/pane.coffee:
800 | activate: ->
801 | throw new Error("Pane has been destroyed") if @isDestroyed()
> 802 | @container?.didActivatePane(this)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
803 | @emitter.emit 'did-activate'
804 |
Example from repos/atom/atom/src/pane.coffee:
808 | # itself will not be destroyed.
809 | destroy: ->
> 810 | if @container?.isAlive() and @container.getPanes().length is 1
| ^^^^^^^^^^^^^^^^^^^
811 | @destroyItems()
812 | else
Example from repos/atom/atom/src/pane.coffee:
813 | @emitter.emit 'will-destroy'
814 | @alive = false
> 815 | @container?.willDestroyPane(pane: this)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
816 | @container.activateNextPane() if @isActive()
817 | @emitter.emit 'did-destroy'
Example from repos/atom/atom/src/pane.coffee:
817 | @emitter.emit 'did-destroy'
818 | @emitter.dispose()
> 819 | item.destroy?() for item in @items.slice()
| ^^^^^^^^^^^^^^^
820 | @container?.didDestroyPane(pane: this)
821 |
Example from repos/atom/atom/src/pane.coffee:
818 | @emitter.dispose()
819 | item.destroy?() for item in @items.slice()
> 820 | @container?.didDestroyPane(pane: this)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
821 |
822 | isAlive: -> @alive
Example from repos/atom/atom/src/pane.coffee:
872 |
873 | split: (orientation, side, params) ->
> 874 | if params?.copyActiveItem
| ^^^^^^^^^^^^^^^^^^^^^^
875 | params.items ?= []
876 | params.items.push(@copyActiveItem())
Example from repos/atom/atom/src/pane.coffee:
885 | when 'after' then @parent.insertChildAfter(this, newPane)
886 |
> 887 | @moveItemToPane(@activeItem, newPane) if params?.moveActiveItem
| ^^^^^^^^^^^^^^^^^^^^^^
888 |
889 | newPane.activate()
Example from repos/atom/atom/src/pane.coffee:
955 |
956 | handleSaveError: (error, item) ->
> 957 | itemPath = error.path ? item?.getPath?()
| ^^^^^^^^^^^^^^^^
958 | addWarningWithPath = (message, options) =>
959 | message = "#{message} '#{itemPath}'" if itemPath
Example from repos/atom/atom/src/pane.coffee:
955 |
956 | handleSaveError: (error, item) ->
> 957 | itemPath = error.path ? item?.getPath?()
| ^^^^^^^^^^^^^
958 | addWarningWithPath = (message, options) =>
959 | message = "#{message} '#{itemPath}'" if itemPath
Example from repos/atom/atom/src/pane.coffee:
963 | if customMessage?
964 | addWarningWithPath("Unable to save file: #{customMessage}")
> 965 | else if error.code is 'EISDIR' or error.message?.endsWith?('is a directory')
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
966 | @notificationManager.addWarning("Unable to save file: #{error.message}")
967 | else if error.code in ['EPERM', 'EBUSY', 'UNKNOWN', 'EEXIST', 'ELOOP', 'EAGAIN']
Example from repos/atom/atom/src/pane.coffee:
963 | if customMessage?
964 | addWarningWithPath("Unable to save file: #{customMessage}")
> 965 | else if error.code is 'EISDIR' or error.message?.endsWith?('is a directory')
| ^^^^^^^^^^^^^^^^^^^^^^^
966 | @notificationManager.addWarning("Unable to save file: #{error.message}")
967 | else if error.code in ['EPERM', 'EBUSY', 'UNKNOWN', 'EEXIST', 'ELOOP', 'EAGAIN']
Example from repos/atom/atom/src/project.coffee:
33 | destroyed: ->
34 | buffer.destroy() for buffer in @buffers.slice()
> 35 | repository?.destroy() for repository in @repositories.slice()
| ^^^^^^^^^^^^^^^^^^^
36 | @rootDirectories = []
37 | @repositories = []
Example from repos/atom/atom/src/project.coffee:
41 | @emitter = new Emitter
42 |
> 43 | buffer?.destroy() for buffer in @buffers
| ^^^^^^^^^^^^^^^
44 | @buffers = []
45 | @setPaths([])
Example from repos/atom/atom/src/project.coffee:
152 | # directory.
153 | @repositoryPromisesByPath.delete(pathForDirectory) unless repo?
> 154 | repo?.onDidDestroy?(=> @repositoryPromisesByPath.delete(pathForDirectory))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
155 | repo
156 | @repositoryPromisesByPath.set(pathForDirectory, promise)
Example from repos/atom/atom/src/project.coffee:
152 | # directory.
153 | @repositoryPromisesByPath.delete(pathForDirectory) unless repo?
> 154 | repo?.onDidDestroy?(=> @repositoryPromisesByPath.delete(pathForDirectory))
| ^^^^^^^^^^^^^^^^^^
155 | repo
156 | @repositoryPromisesByPath.set(pathForDirectory, promise)
Example from repos/atom/atom/src/project.coffee:
169 | # * `projectPaths` {Array} of {String} paths.
170 | setPaths: (projectPaths) ->
> 171 | repository?.destroy() for repository in @repositories
| ^^^^^^^^^^^^^^^^^^^
172 | @rootDirectories = []
173 | @repositories = []
Example from repos/atom/atom/src/project.coffee:
190 | repo = null
191 | for provider in @repositoryProviders
> 192 | break if repo = provider.repositoryForDirectorySync?(directory)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
193 | @repositories.push(repo ? null)
194 |
Example from repos/atom/atom/src/project.coffee:
193 | @repositories.push(repo ? null)
194 |
> 195 | unless options?.emitEvent is false
| ^^^^^^^^^^^^^^^^^^
196 | @emitter.emit 'did-change-paths', @getPaths()
197 |
Example from repos/atom/atom/src/project.coffee:
199 | directory = null
200 | for provider in @directoryProviders
> 201 | break if directory = provider.directoryForURISync?(projectPath)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
202 | directory ?= @defaultDirectoryProvider.directoryForURISync(projectPath)
203 | directory
Example from repos/atom/atom/src/project.coffee:
220 | [removedDirectory] = @rootDirectories.splice(indexToRemove, 1)
221 | [removedRepository] = @repositories.splice(indexToRemove, 1)
> 222 | removedRepository?.destroy() unless removedRepository in @repositories
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
223 | @emitter.emit "did-change-paths", @getPaths()
224 | true
Example from repos/atom/atom/src/project.coffee:
233 | return unless uri
234 |
> 235 | if uri?.match(/[A-Za-z0-9+-.]+:\/\//) # leave path alone if it has a scheme
| ^^^^^^^^^^
236 | uri
237 | else
Example from repos/atom/atom/src/project.coffee:
262 | for rootDirectory in @rootDirectories
263 | relativePath = rootDirectory.relativize(fullPath)
> 264 | if relativePath?.length < result[1].length
| ^^^^^^^^^^^^^^^^^^^^
265 | result = [rootDirectory.getPath(), relativePath]
266 | result
Example from repos/atom/atom/src/project.coffee:
329 | # Is the buffer for the given path modified?
330 | isPathModified: (filePath) ->
> 331 | @findBufferForPath(@resolvePath(filePath))?.isModified()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
332 |
333 | findBufferForPath: (filePath) ->
Example from repos/atom/atom/src/project.coffee:
416 | removeBufferAtIndex: (index, options={}) ->
417 | [buffer] = @buffers.splice(index, 1)
> 418 | buffer?.destroy()
| ^^^^^^^^^^^^^^^
419 |
420 | eachBuffer: (args...) ->
Example from repos/atom/atom/src/register-default-commands.coffee:
36 | 'application:new-file': -> ipcRenderer.send('command', 'application:new-file')
37 | 'application:open': ->
> 38 | defaultPath = atom.workspace.getActiveTextEditor()?.getPath() ? atom.project.getPaths()?[0]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
39 | ipcRenderer.send('open-command', 'application:open', defaultPath)
40 | 'application:open-file': ->
Example from repos/atom/atom/src/register-default-commands.coffee:
36 | 'application:new-file': -> ipcRenderer.send('command', 'application:new-file')
37 | 'application:open': ->
> 38 | defaultPath = atom.workspace.getActiveTextEditor()?.getPath() ? atom.project.getPaths()?[0]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
39 | ipcRenderer.send('open-command', 'application:open', defaultPath)
40 | 'application:open-file': ->
Example from repos/atom/atom/src/register-default-commands.coffee:
39 | ipcRenderer.send('open-command', 'application:open', defaultPath)
40 | 'application:open-file': ->
> 41 | defaultPath = atom.workspace.getActiveTextEditor()?.getPath() ? atom.project.getPaths()?[0]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
42 | ipcRenderer.send('open-command', 'application:open-file', defaultPath)
43 | 'application:open-folder': ->
Example from repos/atom/atom/src/register-default-commands.coffee:
39 | ipcRenderer.send('open-command', 'application:open', defaultPath)
40 | 'application:open-file': ->
> 41 | defaultPath = atom.workspace.getActiveTextEditor()?.getPath() ? atom.project.getPaths()?[0]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
42 | ipcRenderer.send('open-command', 'application:open-file', defaultPath)
43 | 'application:open-folder': ->
Example from repos/atom/atom/src/register-default-commands.coffee:
42 | ipcRenderer.send('open-command', 'application:open-file', defaultPath)
43 | 'application:open-folder': ->
> 44 | defaultPath = atom.workspace.getActiveTextEditor()?.getPath() ? atom.project.getPaths()?[0]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
45 | ipcRenderer.send('open-command', 'application:open-folder', defaultPath)
46 | 'application:open-dev': -> ipcRenderer.send('command', 'application:open-dev')
Example from repos/atom/atom/src/register-default-commands.coffee:
42 | ipcRenderer.send('open-command', 'application:open-file', defaultPath)
43 | 'application:open-folder': ->
> 44 | defaultPath = atom.workspace.getActiveTextEditor()?.getPath() ? atom.project.getPaths()?[0]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
45 | ipcRenderer.send('open-command', 'application:open-folder', defaultPath)
46 | 'application:open-dev': -> ipcRenderer.send('command', 'application:open-dev')
Example from repos/atom/atom/src/scan-handler.coffee:
42 |
43 | processPaths = (rootPath, paths) ->
> 44 | return paths unless paths?.length > 0
| ^^^^^^^^^^^^^
45 | rootPathBase = path.basename(rootPath)
46 | results = []
Example from repos/atom/atom/src/selection.coffee:
93 | delete options.flash if options.flash?
94 | @marker.setBufferRange(bufferRange, options)
> 95 | @autoscroll() if options?.autoscroll ? @isLastSelection()
| ^^^^^^^^^^^^^^^^^^^
96 | @decoration.flash('flash', @editor.selectionFlashDuration) if needsFlash
97 |
Example from repos/atom/atom/src/selection.coffee:
177 | @goalScreenRange = null
178 | @marker.clearTail() unless @retainSelection
> 179 | @autoscroll() if options?.autoscroll ? @isLastSelection()
| ^^^^^^^^^^^^^^^^^^^
180 | @finalize()
181 |
Example from repos/atom/atom/src/selection.coffee:
323 | expandOverWord: (options) ->
324 | @setBufferRange(@getBufferRange().union(@cursor.getCurrentWordBufferRange()), autoscroll: false)
> 325 | @cursor.autoscroll() if options?.autoscroll ? true
| ^^^^^^^^^^^^^^^^^^^
326 |
327 | # Public: Selects an entire line in the buffer.
Example from repos/atom/atom/src/selection.coffee:
347 | range = @getBufferRange().union(@cursor.getCurrentLineBufferRange(includeNewline: true))
348 | @setBufferRange(range, autoscroll: false)
> 349 | @cursor.autoscroll() if options?.autoscroll ? true
| ^^^^^^^^^^^^^^^^^^^
350 |
351 | ###
Example from repos/atom/atom/src/selection.coffee:
480 | bufferRange = @getBufferRange()
481 | @editor.buffer.delete(bufferRange) unless bufferRange.isEmpty()
> 482 | @cursor?.setBufferPosition(bufferRange.start)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
483 |
484 | # Public: Removes the line at the beginning of the selection if the selection
Example from repos/atom/atom/src/selection.coffee:
554 | leadingTabRegex = new RegExp("^( {1,#{@editor.getTabLength()}}|\t)")
555 | for row in [start..end]
> 556 | if matchLength = buffer.lineForRow(row).match(leadingTabRegex)?[0].length
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
557 | buffer.delete [[row, 0], [row, matchLength]]
558 | return
Example from repos/atom/atom/src/selection.coffee:
807 |
808 | finalize: ->
> 809 | @initialScreenRange = null unless @initialScreenRange?.isEqual(@getScreenRange())
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
810 | if @isEmpty()
811 | @wordwise = false
Example from repos/atom/atom/src/task.coffee:
79 | Grim.addSerializedDeprecation(deprecation) for deprecation in deprecations
80 | return
> 81 | @on "task:completed", (args...) => @callback?(args...)
| ^^^^^^^^^^^^^^^^^^^
82 |
83 | @handleEvents()
Example from repos/atom/atom/src/task.coffee:
149 |
150 | @childProcess.removeAllListeners()
> 151 | @childProcess.stdout?.removeAllListeners()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
152 | @childProcess.stderr?.removeAllListeners()
153 | @childProcess.kill()
Example from repos/atom/atom/src/task.coffee:
150 | @childProcess.removeAllListeners()
151 | @childProcess.stdout?.removeAllListeners()
> 152 | @childProcess.stderr?.removeAllListeners()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
153 | @childProcess.kill()
154 | @childProcess = null
Example from repos/atom/atom/src/text-editor.coffee:
264 |
265 | if @getApproximateLongestScreenRow() isnt previousLongestRow
> 266 | @component?.scheduleUpdate()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
267 |
268 | update: (params) ->
Example from repos/atom/atom/src/text-editor.coffee:
336 | else
337 | @decorateCursorLine()
> 338 | @component?.scheduleUpdate()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
339 |
340 | when 'placeholderText'
Example from repos/atom/atom/src/text-editor.coffee:
359 | if value isnt @showLineNumbers
360 | @showLineNumbers = value
> 361 | @component?.scheduleUpdate()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
362 |
363 | when 'showInvisibles'
Example from repos/atom/atom/src/text-editor.coffee:
384 | if value isnt @scrollPastEnd
385 | @scrollPastEnd = value
> 386 | @component?.scheduleUpdate()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
387 |
388 | when 'autoHeight'
Example from repos/atom/atom/src/text-editor.coffee:
397 | if value isnt @showCursorOnSelection
398 | @showCursorOnSelection = value
> 399 | @component?.scheduleUpdate()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
400 |
401 | else
Example from repos/atom/atom/src/text-editor.coffee:
411 |
412 | scheduleComponentUpdate: ->
> 413 | @component?.scheduleUpdate()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
414 |
415 | serialize: ->
Example from repos/atom/atom/src/text-editor.coffee:
460 | @disposables.add @displayLayer.onDidChangeSync (e) =>
461 | @mergeIntersectingSelections()
> 462 | @component?.didChangeDisplayLayer(e)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
463 | @emitter.emit 'did-change', e
464 | @disposables.add @displayLayer.onDidReset =>
Example from repos/atom/atom/src/text-editor.coffee:
464 | @disposables.add @displayLayer.onDidReset =>
465 | @mergeIntersectingSelections()
> 466 | @component?.didResetDisplayLayer()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
467 | @emitter.emit 'did-change', {}
468 | @disposables.add @selectionsMarkerLayer.onDidCreateMarker @addSelection.bind(this)
Example from repos/atom/atom/src/text-editor.coffee:
467 | @emitter.emit 'did-change', {}
468 | @disposables.add @selectionsMarkerLayer.onDidCreateMarker @addSelection.bind(this)
> 469 | @disposables.add @selectionsMarkerLayer.onDidUpdate => @component?.didUpdateSelections()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
470 |
471 | destroyed: ->
Example from repos/atom/atom/src/text-editor.coffee:
479 | @emitter.emit 'did-destroy'
480 | @emitter.clear()
> 481 | @component?.element.component = null
| ^^^^^^^^^^^^^^^^^^^
482 | @component = null
483 | @lineNumberGutter.element = null
Example from repos/atom/atom/src/text-editor.coffee:
739 | didAddDecoration: (decoration) ->
740 | if decoration.isType('block')
> 741 | @component?.didAddBlockDecoration(decoration)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
742 |
743 | # Extended: Calls your `callback` when the placeholder text is changed.
Example from repos/atom/atom/src/text-editor.coffee:
1007 | # * `screenRow` A {Number} representing a zero-indexed screen row.
1008 | lineTextForScreenRow: (screenRow) ->
> 1009 | @screenLineForScreenRow(screenRow)?.lineText
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
1010 |
1011 | logScreenLines: (start=0, end=@getLastScreenRow()) ->
Example from repos/atom/atom/src/text-editor.coffee:
1179 | selectionsToMove = [selection]
1180 |
> 1181 | while selection.end.row is selections[0]?.start.row
| ^^^^^^^^^^^^^^^^^^^^
1182 | selectionsToMove.push(selections[0])
1183 | selection.end.row = selections[0].end.row
Example from repos/atom/atom/src/text-editor.coffee:
1241 |
1242 | # if the current selection start row matches the next selections' end row - make them one selection
> 1243 | while selection.start.row is selections[0]?.end.row
| ^^^^^^^^^^^^^^^^^^
1244 | selectionsToMove.push(selections[0])
1245 | selection.start.row = selections[0].start.row
Example from repos/atom/atom/src/text-editor.coffee:
1614 | # Returns a {Point}.
1615 | screenPositionForBufferPosition: (bufferPosition, options) ->
> 1616 | if options?.clip?
| ^^^^^^^^^^^^^
1617 | Grim.deprecate("The `clip` parameter has been deprecated and will be removed soon. Please, use `clipDirection` instead.")
1618 | options.clipDirection ?= options.clip
Example from repos/atom/atom/src/text-editor.coffee:
1617 | Grim.deprecate("The `clip` parameter has been deprecated and will be removed soon. Please, use `clipDirection` instead.")
1618 | options.clipDirection ?= options.clip
> 1619 | if options?.wrapAtSoftNewlines?
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
1620 | Grim.deprecate("The `wrapAtSoftNewlines` parameter has been deprecated and will be removed soon. Please, use `clipDirection: 'forward'` instead.")
1621 | options.clipDirection ?= if options.wrapAtSoftNewlines then 'forward' else 'backward'
Example from repos/atom/atom/src/text-editor.coffee:
1620 | Grim.deprecate("The `wrapAtSoftNewlines` parameter has been deprecated and will be removed soon. Please, use `clipDirection: 'forward'` instead.")
1621 | options.clipDirection ?= if options.wrapAtSoftNewlines then 'forward' else 'backward'
> 1622 | if options?.wrapBeyondNewlines?
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
1623 | Grim.deprecate("The `wrapBeyondNewlines` parameter has been deprecated and will be removed soon. Please, use `clipDirection: 'forward'` instead.")
1624 | options.clipDirection ?= if options.wrapBeyondNewlines then 'forward' else 'backward'
Example from repos/atom/atom/src/text-editor.coffee:
1635 | # Returns a {Point}.
1636 | bufferPositionForScreenPosition: (screenPosition, options) ->
> 1637 | if options?.clip?
| ^^^^^^^^^^^^^
1638 | Grim.deprecate("The `clip` parameter has been deprecated and will be removed soon. Please, use `clipDirection` instead.")
1639 | options.clipDirection ?= options.clip
Example from repos/atom/atom/src/text-editor.coffee:
1638 | Grim.deprecate("The `clip` parameter has been deprecated and will be removed soon. Please, use `clipDirection` instead.")
1639 | options.clipDirection ?= options.clip
> 1640 | if options?.wrapAtSoftNewlines?
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
1641 | Grim.deprecate("The `wrapAtSoftNewlines` parameter has been deprecated and will be removed soon. Please, use `clipDirection: 'forward'` instead.")
1642 | options.clipDirection ?= if options.wrapAtSoftNewlines then 'forward' else 'backward'
Example from repos/atom/atom/src/text-editor.coffee:
1641 | Grim.deprecate("The `wrapAtSoftNewlines` parameter has been deprecated and will be removed soon. Please, use `clipDirection: 'forward'` instead.")
1642 | options.clipDirection ?= if options.wrapAtSoftNewlines then 'forward' else 'backward'
> 1643 | if options?.wrapBeyondNewlines?
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
1644 | Grim.deprecate("The `wrapBeyondNewlines` parameter has been deprecated and will be removed soon. Please, use `clipDirection: 'forward'` instead.")
1645 | options.clipDirection ?= if options.wrapBeyondNewlines then 'forward' else 'backward'
Example from repos/atom/atom/src/text-editor.coffee:
1724 | # Returns a {Point}.
1725 | clipScreenPosition: (screenPosition, options) ->
> 1726 | if options?.clip?
| ^^^^^^^^^^^^^
1727 | Grim.deprecate("The `clip` parameter has been deprecated and will be removed soon. Please, use `clipDirection` instead.")
1728 | options.clipDirection ?= options.clip
Example from repos/atom/atom/src/text-editor.coffee:
1727 | Grim.deprecate("The `clip` parameter has been deprecated and will be removed soon. Please, use `clipDirection` instead.")
1728 | options.clipDirection ?= options.clip
> 1729 | if options?.wrapAtSoftNewlines?
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
1730 | Grim.deprecate("The `wrapAtSoftNewlines` parameter has been deprecated and will be removed soon. Please, use `clipDirection: 'forward'` instead.")
1731 | options.clipDirection ?= if options.wrapAtSoftNewlines then 'forward' else 'backward'
Example from repos/atom/atom/src/text-editor.coffee:
1730 | Grim.deprecate("The `wrapAtSoftNewlines` parameter has been deprecated and will be removed soon. Please, use `clipDirection: 'forward'` instead.")
1731 | options.clipDirection ?= if options.wrapAtSoftNewlines then 'forward' else 'backward'
> 1732 | if options?.wrapBeyondNewlines?
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
1733 | Grim.deprecate("The `wrapBeyondNewlines` parameter has been deprecated and will be removed soon. Please, use `clipDirection: 'forward'` instead.")
1734 | options.clipDirection ?= if options.wrapBeyondNewlines then 'forward' else 'backward'
Example from repos/atom/atom/src/text-editor.coffee:
2090 |
2091 | destroyMarker: (id) ->
> 2092 | @getMarker(id)?.destroy()
| ^^^^^^^^^^^^^^^^^^^^^^^
2093 |
2094 | # Essential: Create a marker layer to group related markers.
Example from repos/atom/atom/src/text-editor.coffee:
2185 | # position. Defaults to true.
2186 | setCursorScreenPosition: (position, options) ->
> 2187 | if options?.clip?
| ^^^^^^^^^^^^^
2188 | Grim.deprecate("The `clip` parameter has been deprecated and will be removed soon. Please, use `clipDirection` instead.")
2189 | options.clipDirection ?= options.clip
Example from repos/atom/atom/src/text-editor.coffee:
2188 | Grim.deprecate("The `clip` parameter has been deprecated and will be removed soon. Please, use `clipDirection` instead.")
2189 | options.clipDirection ?= options.clip
> 2190 | if options?.wrapAtSoftNewlines?
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
2191 | Grim.deprecate("The `wrapAtSoftNewlines` parameter has been deprecated and will be removed soon. Please, use `clipDirection: 'forward'` instead.")
2192 | options.clipDirection ?= if options.wrapAtSoftNewlines then 'forward' else 'backward'
Example from repos/atom/atom/src/text-editor.coffee:
2191 | Grim.deprecate("The `wrapAtSoftNewlines` parameter has been deprecated and will be removed soon. Please, use `clipDirection: 'forward'` instead.")
2192 | options.clipDirection ?= if options.wrapAtSoftNewlines then 'forward' else 'backward'
> 2193 | if options?.wrapBeyondNewlines?
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
2194 | Grim.deprecate("The `wrapBeyondNewlines` parameter has been deprecated and will be removed soon. Please, use `clipDirection: 'forward'` instead.")
2195 | options.clipDirection ?= if options.wrapBeyondNewlines then 'forward' else 'backward'
Example from repos/atom/atom/src/text-editor.coffee:
2204 | addCursorAtBufferPosition: (bufferPosition, options) ->
2205 | @selectionsMarkerLayer.markBufferPosition(bufferPosition, Object.assign({invalidate: 'never'}, options))
> 2206 | @getLastSelection().cursor.autoscroll() unless options?.autoscroll is false
| ^^^^^^^^^^^^^^^^^^^
2207 | @getLastSelection().cursor
2208 |
Example from repos/atom/atom/src/text-editor.coffee:
2214 | addCursorAtScreenPosition: (screenPosition, options) ->
2215 | @selectionsMarkerLayer.markScreenPosition(screenPosition, {invalidate: 'never'})
> 2216 | @getLastSelection().cursor.autoscroll() unless options?.autoscroll is false
| ^^^^^^^^^^^^^^^^^^^
2217 | @getLastSelection().cursor
2218 |
Example from repos/atom/atom/src/text-editor.coffee:
2528 | lastSelection = @getLastSelection()
2529 | lastSelection.selectToScreenPosition(position, options)
> 2530 | unless options?.suppressSelectionMerge
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2531 | @mergeIntersectingSelections(reversed: lastSelection.isReversed())
2532 |
Example from repos/atom/atom/src/text-editor.coffee:
2799 | options = args.pop() ? {}
2800 |
> 2801 | return fn?() if @suppressSelectionMerging
| ^^^^^
2802 |
2803 | if fn?
Example from repos/atom/atom/src/text-editor.coffee:
2866 | # Called by the selection
2867 | selectionRangeChanged: (event) ->
> 2868 | @component?.didChangeSelectionRange()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2869 | @emitter.emit 'did-change-selection-range', event
2870 |
Example from repos/atom/atom/src/text-editor.coffee:
2985 | usesSoftTabs: ->
2986 | for bufferRow in [0..Math.min(1000, @buffer.getLastRow())]
> 2987 | continue if @tokenizedBuffer.tokenizedLines[bufferRow]?.isComment()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2988 |
2989 | line = @buffer.lineForRow(bufferRow)
Example from repos/atom/atom/src/text-editor.coffee:
3250 |
3251 | @mutateSelectedText (selection, index) =>
> 3252 | if metadata.selections?.length is @getSelections().length
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
3253 | {text, indentBasis, fullLine} = metadata.selections[index]
3254 | else
Example from repos/atom/atom/src/text-editor.coffee:
3461 | # * `center` Center the editor around the cursor if possible. (default: true)
3462 | scrollToCursorPosition: (options) ->
> 3463 | @getLastCursor().autoscroll(center: options?.center ? true)
| ^^^^^^^^^^^^^^^
3464 |
3465 | # Essential: Scrolls the editor to the given buffer position.
Example from repos/atom/atom/src/text-editor.coffee:
3494 | screenRange = @clipScreenRange(screenRange) if options.clip isnt false
3495 | scrollEvent = {screenRange, options}
> 3496 | @component?.didRequestAutoscroll(scrollEvent)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3497 | @emitter.emit "did-request-autoscroll", scrollEvent
3498 |
Example from repos/atom/atom/src/text-editor.coffee:
3587 | # Returns a {String} containing the non-word characters.
3588 | getNonWordCharacters: (scopes) ->
> 3589 | @scopedSettingsDelegate?.getNonWordCharacters?(scopes) ? @nonWordCharacters
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3590 |
3591 | getCommentStrings: (scopes) ->
Example from repos/atom/atom/src/text-editor.coffee:
3587 | # Returns a {String} containing the non-word characters.
3588 | getNonWordCharacters: (scopes) ->
> 3589 | @scopedSettingsDelegate?.getNonWordCharacters?(scopes) ? @nonWordCharacters
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3590 |
3591 | getCommentStrings: (scopes) ->
Example from repos/atom/atom/src/text-editor.coffee:
3590 |
3591 | getCommentStrings: (scopes) ->
> 3592 | @scopedSettingsDelegate?.getCommentStrings?(scopes)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3593 |
3594 | getIncreaseIndentPattern: (scopes) ->
Example from repos/atom/atom/src/text-editor.coffee:
3590 |
3591 | getCommentStrings: (scopes) ->
> 3592 | @scopedSettingsDelegate?.getCommentStrings?(scopes)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3593 |
3594 | getIncreaseIndentPattern: (scopes) ->
Example from repos/atom/atom/src/text-editor.coffee:
3593 |
3594 | getIncreaseIndentPattern: (scopes) ->
> 3595 | @scopedSettingsDelegate?.getIncreaseIndentPattern?(scopes)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3596 |
3597 | getDecreaseIndentPattern: (scopes) ->
Example from repos/atom/atom/src/text-editor.coffee:
3593 |
3594 | getIncreaseIndentPattern: (scopes) ->
> 3595 | @scopedSettingsDelegate?.getIncreaseIndentPattern?(scopes)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3596 |
3597 | getDecreaseIndentPattern: (scopes) ->
Example from repos/atom/atom/src/text-editor.coffee:
3596 |
3597 | getDecreaseIndentPattern: (scopes) ->
> 3598 | @scopedSettingsDelegate?.getDecreaseIndentPattern?(scopes)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3599 |
3600 | getDecreaseNextIndentPattern: (scopes) ->
Example from repos/atom/atom/src/text-editor.coffee:
3596 |
3597 | getDecreaseIndentPattern: (scopes) ->
> 3598 | @scopedSettingsDelegate?.getDecreaseIndentPattern?(scopes)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3599 |
3600 | getDecreaseNextIndentPattern: (scopes) ->
Example from repos/atom/atom/src/text-editor.coffee:
3599 |
3600 | getDecreaseNextIndentPattern: (scopes) ->
> 3601 | @scopedSettingsDelegate?.getDecreaseNextIndentPattern?(scopes)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3602 |
3603 | getFoldEndPattern: (scopes) ->
Example from repos/atom/atom/src/text-editor.coffee:
3599 |
3600 | getDecreaseNextIndentPattern: (scopes) ->
> 3601 | @scopedSettingsDelegate?.getDecreaseNextIndentPattern?(scopes)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3602 |
3603 | getFoldEndPattern: (scopes) ->
Example from repos/atom/atom/src/text-editor.coffee:
3602 |
3603 | getFoldEndPattern: (scopes) ->
> 3604 | @scopedSettingsDelegate?.getFoldEndPattern?(scopes)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3605 |
3606 | ###
Example from repos/atom/atom/src/text-editor.coffee:
3602 |
3603 | getFoldEndPattern: (scopes) ->
> 3604 | @scopedSettingsDelegate?.getFoldEndPattern?(scopes)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3605 |
3606 | ###
Example from repos/atom/atom/src/theme-manager.coffee:
143 |
144 | unwatchUserStylesheet: ->
> 145 | @userStylsheetSubscriptions?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
146 | @userStylsheetSubscriptions = null
147 | @userStylesheetFile = null
Example from repos/atom/atom/src/theme-manager.coffee:
146 | @userStylsheetSubscriptions = null
147 | @userStylesheetFile = null
> 148 | @userStyleSheetDisposable?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
149 | @userStyleSheetDisposable = null
150 |
Example from repos/atom/atom/src/theme-manager.coffee:
247 |
248 | removeStylesheet: (stylesheetPath) ->
> 249 | @styleSheetDisposablesBySourcePath[stylesheetPath]?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
250 |
251 | applyStylesheet: (path, text, priority, skipDeprecatedSelectorsTransformation) ->
Example from repos/atom/atom/src/theme-manager.coffee:
306 |
307 | refreshLessCache: ->
> 308 | @lessCache?.setImportPaths(@getImportPaths())
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
309 |
310 | getImportPaths: ->
Example from repos/atom/atom/src/tokenized-buffer.coffee:
94 | @rootScopeDescriptor = new ScopeDescriptor(scopes: [@grammar.scopeName])
95 |
> 96 | @grammarUpdateDisposable?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
97 | @grammarUpdateDisposable = @grammar.onDidUpdate => @retokenizeLines()
98 | @disposables.add(@grammarUpdateDisposable)
Example from repos/atom/atom/src/tokenized-buffer.coffee:
225 | nextRow = @buffer.nextNonBlankRow(row)
226 | tokenizedLine = @tokenizedLines[row]
> 227 | if @buffer.isRowBlank(row) or tokenizedLine?.isComment() or not nextRow?
| ^^^^^^^^^^^^^^^^^^^^^^^^
228 | false
229 | else
Example from repos/atom/atom/src/tokenized-buffer.coffee:
239 | else
240 | Boolean(
> 241 | not (@tokenizedLines[previousRow]?.isComment()) and
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
242 | @tokenizedLines[row]?.isComment() and
243 | @tokenizedLines[nextRow]?.isComment()
Example from repos/atom/atom/src/tokenized-buffer.coffee:
240 | Boolean(
241 | not (@tokenizedLines[previousRow]?.isComment()) and
> 242 | @tokenizedLines[row]?.isComment() and
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
243 | @tokenizedLines[nextRow]?.isComment()
244 | )
Example from repos/atom/atom/src/tokenized-buffer.coffee:
241 | not (@tokenizedLines[previousRow]?.isComment()) and
242 | @tokenizedLines[row]?.isComment() and
> 243 | @tokenizedLines[nextRow]?.isComment()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
244 | )
245 |
Example from repos/atom/atom/src/tokenized-buffer.coffee:
286 |
287 | stackForRow: (bufferRow) ->
> 288 | @tokenizedLines[bufferRow]?.ruleStack
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
289 |
290 | openScopesForRow: (bufferRow) ->
Example from repos/atom/atom/src/tooltip-manager.coffee:
173 |
174 | getKeystroke = (bindings) ->
> 175 | if bindings?.length
| ^^^^^^^^^^^^^^^^
176 | "<span class=\"keystroke\">#{humanizeKeystrokes(bindings[0].keystrokes)}</span>"
177 |
Example from repos/atom/atom/src/view-registry.coffee:
124 | return object
125 |
> 126 | if typeof object?.getElement is 'function'
| ^^^^^^^^^^^^^^^^^^
127 | element = object.getElement()
128 | if element instanceof HTMLElement
Example from repos/atom/atom/src/view-registry.coffee:
129 | return element
130 |
> 131 | if object?.element instanceof HTMLElement
| ^^^^^^^^^^^^^^^
132 | return object.element
133 |
Example from repos/atom/atom/src/view-registry.coffee:
132 | return object.element
133 |
> 134 | if object?.jquery
| ^^^^^^^^^^^^^^
135 | return object[0]
136 |
Example from repos/atom/atom/src/view-registry.coffee:
142 |
143 | if object instanceof provider.modelConstructor
> 144 | if element = provider.createView?(object, @atomEnvironment)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
145 | return element
146 |
Example from repos/atom/atom/src/view-registry.coffee:
147 | if viewConstructor = provider.viewConstructor
148 | element = new viewConstructor
> 149 | element.initialize?(object) ? element.setModel?(object)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
150 | return element
151 |
Example from repos/atom/atom/src/view-registry.coffee:
147 | if viewConstructor = provider.viewConstructor
148 | element = new viewConstructor
> 149 | element.initialize?(object) ? element.setModel?(object)
| ^^^^^^^^^^^^^^^^^^^^^^^^^
150 | return element
151 |
Example from repos/atom/atom/src/view-registry.coffee:
150 | return element
151 |
> 152 | if viewConstructor = object?.getViewClass?()
| ^^^^^^^^^^^^^^^^^^^^^^^
153 | view = new viewConstructor(object)
154 | return view[0]
Example from repos/atom/atom/src/view-registry.coffee:
150 | return element
151 |
> 152 | if viewConstructor = object?.getViewClass?()
| ^^^^^^^^^^^^^^^^^^^^
153 | view = new viewConstructor(object)
154 | return view[0]
Example from repos/atom/atom/src/view-registry.coffee:
199 | writer() while writer = @documentWriters.shift()
200 |
> 201 | resolveNextUpdatePromise?()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
202 |
Example from repos/atom/atom/src/window-event-handler.coffee:
177 | handleLinkClick: (event) =>
178 | event.preventDefault()
> 179 | uri = event.currentTarget?.getAttribute('href')
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
180 | if uri and uri[0] isnt '#' and /^https?:\/\//.test(uri)
181 | @applicationDelegate.openExternal(uri)
Example from repos/atom/atom/spec/integration/helpers/start-atom.coffee:
88 | .addCommand "waitForPaneItemCount", (count, timeout, cb) ->
89 | @waitUntil(->
> 90 | @execute(-> atom.workspace?.getActivePane()?.getItems().length)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
91 | .then(({value}) -> value is count)
92 | , timeout)
Example from repos/atom/atom/spec/squirrel-update-spec.coffee:
80 | jasmine.unspy(Spawner, 'spawn')
81 | spyOn(Spawner, 'spawn').andCallFake (command, args, callback) ->
> 82 | if path.basename(command) is 'Update.exe' and args?[0] is '--createShortcut' and args?[3].match /Desktop/i
| ^^^^^^^^
83 | fs.writeFileSync(desktopShortcutPath, '')
84 | else
Example from repos/atom/atom/src/atom-environment.coffee:
1071 |
1072 | openLocations: (locations) ->
> 1073 | needsProjectPaths = @project?.getPaths().length is 0
| ^^^^^^^^^^^^^^^^^^
1074 |
1075 | foldersToAddToProject = []
Example from repos/atom/atom/src/git-repository-provider.coffee:
11 | try
12 | gitFileBuff = fs.readFileSync(gitFile, 'utf8')
> 13 | return gitFileBuff?.match(gitFileRegex)[1]
| ^^^^^^^^^^^^^^^^^^
14 |
15 | # Checks whether a valid `.git` directory is contained within the given
Example from repos/atom/atom/src/git-repository.coffee:
472 | @handlerPath ?= require.resolve('./repository-status-handler')
473 |
> 474 | relativeProjectPaths = @project?.getPaths()
| ^^^^^^^^^^^^^^^^^^
475 | .map (projectPath) => @relativize(projectPath)
476 | .filter (projectPath) -> projectPath.length > 0 and not path.isAbsolute(projectPath)
Example from repos/atom/atom/src/language-mode.coffee:
53 | else
54 | buffer.transact ->
> 55 | indentLength = buffer.lineForRow(start).match(/^\s*/)?[0].length ? 0
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
56 | buffer.insert([start, indentLength], commentStartString)
57 | buffer.insert([end, buffer.lineLengthForRow(end)], commentEndString)
Example from repos/atom/atom/src/language-mode.coffee:
85 | for row in [start..end] by 1
86 | line = buffer.lineForRow(row)
> 87 | if indentLength = line.match(indentRegex)?[0].length
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
88 | buffer.insert([row, indentLength], commentStartString)
89 | else
Example from repos/atom/atom/src/main-process/atom-application.coffee:
234 | @on 'application:inspect', ({x, y, atomWindow}) ->
235 | atomWindow ?= @focusedWindow()
> 236 | atomWindow?.browserWindow.inspectElement(x, y)
| ^^^^^^^^^^^^^^^^^^^^^^^^^
237 |
238 | @on 'application:open-documentation', -> shell.openExternal('http://flight-manual.atom.io/')
Example from repos/atom/atom/src/main-process/spawner.coffee:
29 | spawnedProcess.on 'close', (code, signal) ->
30 | error ?= new Error("Command failed: #{signal ? code}") if code isnt 0
> 31 | error?.code ?= code
| ^^^^^^^^^^^
32 | error?.stdout ?= stdout
33 | callback?(error, stdout)
Example from repos/atom/atom/src/main-process/spawner.coffee:
30 | error ?= new Error("Command failed: #{signal ? code}") if code isnt 0
31 | error?.code ?= code
> 32 | error?.stdout ?= stdout
| ^^^^^^^^^^^^^
33 | callback?(error, stdout)
34 | # This is necessary if using Powershell 2 on Windows 7 to get the events to raise
Example from repos/atom/atom/src/pane-axis-element.coffee:
32 |
33 | isPaneResizeHandleElement: (element) ->
> 34 | element?.nodeName.toLowerCase() is 'atom-pane-resize-handle'
| ^^^^^^^^^^^^^^^^^
35 |
36 | childAdded: ({child, index}) ->
Example from repos/atom/atom/src/pane-resize-handle-element.coffee:
18 | resizeToFitContent: ->
19 | # clear flex-grow css style of both pane
> 20 | @previousSibling?.model.setFlexScale(1)
| ^^^^^^^^^^^^^^^^^^^^^^^
21 | @nextSibling?.model.setFlexScale(1)
22 |
Example from repos/atom/atom/src/pane-resize-handle-element.coffee:
19 | # clear flex-grow css style of both pane
20 | @previousSibling?.model.setFlexScale(1)
> 21 | @nextSibling?.model.setFlexScale(1)
| ^^^^^^^^^^^^^^^^^^^
22 |
23 | resizeStarted: (e) ->
Example from repos/atom/atom/src/selection.coffee:
554 | leadingTabRegex = new RegExp("^( {1,#{@editor.getTabLength()}}|\t)")
555 | for row in [start..end]
> 556 | if matchLength = buffer.lineForRow(row).match(leadingTabRegex)?[0].length
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
557 | buffer.delete [[row, 0], [row, matchLength]]
558 | return
Example from repos/atom/atom/src/text-editor.coffee:
479 | @emitter.emit 'did-destroy'
480 | @emitter.clear()
> 481 | @component?.element.component = null
| ^^^^^^^^^^^^^^^^^^^
482 | @component = null
483 | @lineNumberGutter.element = null
Example from repos/atom/atom/src/text-editor.coffee:
1179 | selectionsToMove = [selection]
1180 |
> 1181 | while selection.end.row is selections[0]?.start.row
| ^^^^^^^^^^^^^^^^^^^^
1182 | selectionsToMove.push(selections[0])
1183 | selection.end.row = selections[0].end.row
Example from repos/atom/atom/src/text-editor.coffee:
1241 |
1242 | # if the current selection start row matches the next selections' end row - make them one selection
> 1243 | while selection.start.row is selections[0]?.end.row
| ^^^^^^^^^^^^^^^^^^
1244 | selectionsToMove.push(selections[0])
1245 | selection.start.row = selections[0].start.row
Example from repos/atom/atom/spec/atom-environment-spec.coffee:
637 |
638 | afterEach ->
> 639 | subscription?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^
640 |
641 | it "invokes onUpdateAvailable listeners", ->
Example from repos/atom/atom/spec/atom-reporter.coffee:
18 |
19 | # Remove first line of stack when it is the same as the error message
> 20 | errorMatch = lines[0]?.match(/^Error: (.*)/)
| ^^^^^^^^^^^^^^^
21 | lines.shift() if message.trim() is errorMatch?[1]?.trim()
22 |
Example from repos/atom/atom/spec/atom-reporter.coffee:
19 | # Remove first line of stack when it is the same as the error message
20 | errorMatch = lines[0]?.match(/^Error: (.*)/)
> 21 | lines.shift() if message.trim() is errorMatch?[1]?.trim()
| ^^^^^^^^^^^^^^^^^^^^
22 |
23 | for line, index in lines
Example from repos/atom/atom/spec/git-repository-spec.coffee:
340 |
341 | afterEach ->
> 342 | project2?.destroy()
| ^^^^^^^^^^^^^^^^^
343 |
344 | it "subscribes to all the serialized buffers in the project", ->
Example from repos/atom/atom/spec/integration/helpers/start-atom.coffee:
88 | .addCommand "waitForPaneItemCount", (count, timeout, cb) ->
89 | @waitUntil(->
> 90 | @execute(-> atom.workspace?.getActivePane()?.getItems().length)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
91 | .then(({value}) -> value is count)
92 | , timeout)
Example from repos/atom/atom/spec/integration/helpers/start-atom.coffee:
88 | .addCommand "waitForPaneItemCount", (count, timeout, cb) ->
89 | @waitUntil(->
> 90 | @execute(-> atom.workspace?.getActivePane()?.getItems().length)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
91 | .then(({value}) -> value is count)
92 | , timeout)
Example from repos/atom/atom/spec/package-manager-spec.coffee:
504 |
505 | afterEach ->
> 506 | registration?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^
507 | mainModule = null
508 |
Example from repos/atom/atom/spec/package-spec.coffee:
40 | expect(pack.isCompatible()).toBe true
41 |
> 42 | packagePath = atom.project.getDirectories()[0]?.resolve('packages/package-with-cached-incompatible-native-module')
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
43 | pack = buildPackage(packagePath)
44 | expect(pack.isCompatible()).toBe false
Example from repos/atom/atom/spec/package-spec.coffee:
75 |
76 | it "returns a promise resolving to the results of `apm rebuild`", ->
> 77 | packagePath = atom.project.getDirectories()[0]?.resolve('packages/package-with-index')
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
78 | pack = buildPackage(packagePath)
79 | rebuildCallbacks = []
Example from repos/atom/atom/spec/package-spec.coffee:
89 |
90 | it "persists build failures in local storage", ->
> 91 | packagePath = atom.project.getDirectories()[0]?.resolve('packages/package-with-index')
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
92 | pack = buildPackage(packagePath)
93 |
Example from repos/atom/atom/spec/package-spec.coffee:
118 |
119 | it "sets cached incompatible modules to an empty array when the rebuild completes (there may be a build error, but rebuilding *deletes* native modules)", ->
> 120 | packagePath = atom.project.getDirectories()[0]?.resolve('packages/package-with-incompatible-native-module')
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
121 | pack = buildPackage(packagePath)
122 |
Example from repos/atom/atom/spec/package-spec.coffee:
144 | it "loads and applies css", ->
145 | expect(getComputedStyle(editorElement).paddingBottom).not.toBe "1234px"
> 146 | themePath = atom.project.getDirectories()[0]?.resolve('packages/theme-with-index-css')
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
147 | theme = buildThemePackage(themePath)
148 | theme.activate()
Example from repos/atom/atom/spec/package-spec.coffee:
151 | it "parses, loads and applies less", ->
152 | expect(getComputedStyle(editorElement).paddingBottom).not.toBe "1234px"
> 153 | themePath = atom.project.getDirectories()[0]?.resolve('packages/theme-with-index-less')
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
154 | theme = buildThemePackage(themePath)
155 | theme.activate()
Example from repos/atom/atom/spec/package-spec.coffee:
162 | expect(getComputedStyle(editorElement).paddingBottom).not.toBe("103px")
163 |
> 164 | themePath = atom.project.getDirectories()[0]?.resolve('packages/theme-with-package-file')
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
165 | theme = buildThemePackage(themePath)
166 | theme.activate()
Example from repos/atom/atom/spec/package-spec.coffee:
175 | expect(getComputedStyle(editorElement).paddingBottom).not.toBe "30px"
176 |
> 177 | themePath = atom.project.getDirectories()[0]?.resolve('packages/theme-without-package-file')
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
178 | theme = buildThemePackage(themePath)
179 | theme.activate()
Example from repos/atom/atom/spec/package-spec.coffee:
184 | describe "reloading a theme", ->
185 | beforeEach ->
> 186 | themePath = atom.project.getDirectories()[0]?.resolve('packages/theme-with-package-file')
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
187 | theme = buildThemePackage(themePath)
188 | theme.activate()
Example from repos/atom/atom/spec/package-spec.coffee:
195 | describe "events", ->
196 | beforeEach ->
> 197 | themePath = atom.project.getDirectories()[0]?.resolve('packages/theme-with-package-file')
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
198 | theme = buildThemePackage(themePath)
199 | theme.activate()
Example from repos/atom/atom/spec/package-spec.coffee:
208 |
209 | beforeEach ->
> 210 | packagePath = atom.project.getDirectories()[0]?.resolve('packages/package-with-different-directory-name')
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
211 | metadata = atom.packages.loadPackageMetadata(packagePath, true)
212 |
Example from repos/atom/atom/spec/project-spec.coffee:
9 | describe "Project", ->
10 | beforeEach ->
> 11 | atom.project.setPaths([atom.project.getDirectories()[0]?.resolve('dir')])
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
12 |
13 | # Wait for project's service consumers to be asynchronously added
Example from repos/atom/atom/spec/project-spec.coffee:
21 |
22 | afterEach ->
> 23 | deserializedProject?.destroy()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
24 |
25 | it "does not deserialize paths to non directories", ->
Example from repos/atom/atom/spec/project-spec.coffee:
110 | notQuittingProject = new Project({notificationManager: atom.notifications, packageManager: atom.packages, confirm: atom.confirm})
111 | notQuittingProject.deserialize(atom.project.serialize({isUnloading: false})).then ->
> 112 | expect(notQuittingProject.getBuffers()[0].getMarkerLayer(layerA.id)?.getMarker(markerA.id)).toBeUndefined()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
113 | expect(notQuittingProject.getBuffers()[0].undo()).toBe(false)
114 |
Example from repos/atom/atom/spec/project-spec.coffee:
116 | quittingProject = new Project({notificationManager: atom.notifications, packageManager: atom.packages, confirm: atom.confirm})
117 | quittingProject.deserialize(atom.project.serialize({isUnloading: true})).then ->
> 118 | expect(quittingProject.getBuffers()[0].getMarkerLayer(layerA.id)?.getMarker(markerA.id)).not.toBeUndefined()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
119 | expect(quittingProject.getBuffers()[0].undo()).toBe(true)
120 |
Example from repos/atom/atom/spec/squirrel-update-spec.coffee:
80 | jasmine.unspy(Spawner, 'spawn')
81 | spyOn(Spawner, 'spawn').andCallFake (command, args, callback) ->
> 82 | if path.basename(command) is 'Update.exe' and args?[0] is '--createShortcut' and args?[3].match /Desktop/i
| ^^^^^^^^
83 | fs.writeFileSync(desktopShortcutPath, '')
84 | else
Example from repos/atom/atom/spec/theme-manager-spec.coffee:
164 | atom.styles.onDidAddStyleElement styleElementAddedHandler = jasmine.createSpy("styleElementAddedHandler")
165 |
> 166 | cssPath = atom.project.getDirectories()[0]?.resolve('css.css')
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
167 | lengthBefore = document.querySelectorAll('head style').length
168 |
Example from repos/atom/atom/spec/theme-manager-spec.coffee:
186 |
187 | it "synchronously loads and parses less files at the given path and installs a style tag for it in the head", ->
> 188 | lessPath = atom.project.getDirectories()[0]?.resolve('sample.less')
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
189 | lengthBefore = document.querySelectorAll('head style').length
190 | atom.themes.requireStylesheet(lessPath)
Example from repos/atom/atom/spec/theme-manager-spec.coffee:
211 | it "supports requiring css and less stylesheets without an explicit extension", ->
212 | atom.themes.requireStylesheet path.join(__dirname, 'fixtures', 'css')
> 213 | expect(document.querySelector('head style[source-path*="css.css"]').getAttribute('source-path')).toEqualPath atom.project.getDirectories()[0]?.resolve('css.css')
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
214 | atom.themes.requireStylesheet path.join(__dirname, 'fixtures', 'sample')
215 | expect(document.querySelector('head style[source-path*="sample.less"]').getAttribute('source-path')).toEqualPath atom.project.getDirectories()[0]?.resolve('sample.less')
Example from repos/atom/atom/spec/theme-manager-spec.coffee:
213 | expect(document.querySelector('head style[source-path*="css.css"]').getAttribute('source-path')).toEqualPath atom.project.getDirectories()[0]?.resolve('css.css')
214 | atom.themes.requireStylesheet path.join(__dirname, 'fixtures', 'sample')
> 215 | expect(document.querySelector('head style[source-path*="sample.less"]').getAttribute('source-path')).toEqualPath atom.project.getDirectories()[0]?.resolve('sample.less')
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
216 |
217 | document.querySelector('head style[source-path*="css.css"]').remove()
Example from repos/atom/atom/spec/tokenized-buffer-spec.coffee:
16 |
17 | afterEach ->
> 18 | tokenizedBuffer?.destroy()
| ^^^^^^^^^^^^^^^^^^^^^^^^
19 |
20 | startTokenizing = (tokenizedBuffer) ->
Example from repos/atom/atom/src/atom-environment.coffee:
348 |
349 | @disposables.dispose()
> 350 | @workspace?.destroy()
| ^^^^^^^^^^^^^^^^^^^
351 | @workspace = null
352 | @themes.workspace = null
Example from repos/atom/atom/src/atom-environment.coffee:
351 | @workspace = null
352 | @themes.workspace = null
> 353 | @project?.destroy()
| ^^^^^^^^^^^^^^^^^
354 | @project = null
355 | @commands.clear()
Example from repos/atom/atom/src/atom-environment.coffee:
699 | .catch(console.error)
700 | .then =>
> 701 | @workspace?.confirmClose({
| ^^^^^^^^^^^^^^^^^^^^^^^^
702 | windowCloseRequested: true,
703 | projectHasPaths: @project.getPaths().length > 0
Example from repos/atom/atom/src/atom-environment.coffee:
724 |
725 | @document.body.appendChild(@workspace.getElement())
> 726 | @backgroundStylesheet?.remove()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
727 |
728 | @watchProjectPaths()
Example from repos/atom/atom/src/atom-environment.coffee:
803 |
804 | uninstallWindowEventHandler: ->
> 805 | @windowEventHandler?.unsubscribe()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
806 | @windowEventHandler = null
807 |
Example from repos/atom/atom/src/atom-environment.coffee:
969 | state = @serialize(options)
970 | savePromise =
> 971 | if storageKey ?= @getStateKey(@project?.getPaths())
| ^^^^^^^^^^^^^^^^^^
972 | @stateStore.save(storageKey, state)
973 | else
Example from repos/atom/atom/src/atom-environment.coffee:
1071 |
1072 | openLocations: (locations) ->
> 1073 | needsProjectPaths = @project?.getPaths().length is 0
| ^^^^^^^^^^^^^^^^^^
1074 |
1075 | foldersToAddToProject = []
Example from repos/atom/atom/src/atom-environment.coffee:
1102 | @project.addPath(folder) for folder in foldersToAddToProject
1103 | for {pathToOpen, initialLine, initialColumn} in fileLocationsToOpen
> 1104 | promises.push @workspace?.open(pathToOpen, {initialLine, initialColumn})
| ^^^^^^^^^^^^^^^^
1105 | Promise.all(promises)
1106 | else
Example from repos/atom/atom/src/atom-environment.coffee:
1107 | promises = []
1108 | for {pathToOpen, initialLine, initialColumn} in fileLocationsToOpen
> 1109 | promises.push @workspace?.open(pathToOpen, {initialLine, initialColumn})
| ^^^^^^^^^^^^^^^^
1110 | promise = Promise.all(promises)
1111 |
Example from repos/atom/atom/src/command-registry.coffee:
239 |
240 | loop
> 241 | listeners = @inlineListenersByCommandName[event.type]?.get(currentTarget) ? []
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
242 | if currentTarget.webkitMatchesSelector?
243 | selectorBasedListeners =
Example from repos/atom/atom/src/config.coffee:
892 |
893 | unobserveUserConfig: ->
> 894 | @watchSubscription?.close()
| ^^^^^^^^^^^^^^^^^^^^^^^^^
895 | @watchSubscription = null
896 |
Example from repos/atom/atom/src/config.coffee:
896 |
897 | notifyFailure: (errorMessage, detail) ->
> 898 | @notificationManager?.addError(errorMessage, {detail, dismissable: true})
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
899 |
900 | save: ->
Example from repos/atom/atom/src/config.coffee:
937 |
938 | getRawValue: (keyPath, options) ->
> 939 | unless options?.excludeSources?.indexOf(@getUserConfigPath()) >= 0
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
940 | value = getValueAtKeyPath(@settings, keyPath)
941 | unless options?.sources?.length > 0
Example from repos/atom/atom/src/cursor.coffee:
409 | beginningOfWordPosition = range.start
410 |
> 411 | if not beginningOfWordPosition?.isEqual(currentBufferPosition)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
412 | stop()
413 |
Example from repos/atom/atom/src/cursor.coffee:
434 | endOfWordPosition = range.end
435 |
> 436 | if not endOfWordPosition?.isEqual(currentBufferPosition)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
437 | stop()
438 |
Example from repos/atom/atom/src/cursor.coffee:
572 | # Public: Deselects the current selection.
573 | clearSelection: (options) ->
> 574 | @selection?.clear(options)
| ^^^^^^^^^^^^^^^^^
575 |
576 | # Public: Get the RegExp used by the cursor to determine what a "word" is.
Example from repos/atom/atom/src/git-repository-provider.coffee:
11 | try
12 | gitFileBuff = fs.readFileSync(gitFile, 'utf8')
> 13 | return gitFileBuff?.match(gitFileRegex)[1]
| ^^^^^^^^^^^^^^^^^^
14 |
15 | # Checks whether a valid `.git` directory is contained within the given
Example from repos/atom/atom/src/git-repository.coffee:
181 | # repository.
182 | isProjectAtRoot: ->
> 183 | @projectAtRoot ?= @project?.relativize(@getWorkingDirectory()) is ''
| ^^^^^^^^^^^^^^^^^^^^
184 |
185 | # Public: Makes a path relative to the repository's working directory.
Example from repos/atom/atom/src/git-repository.coffee:
472 | @handlerPath ?= require.resolve('./repository-status-handler')
473 |
> 474 | relativeProjectPaths = @project?.getPaths()
| ^^^^^^^^^^^^^^^^^^
475 | .map (projectPath) => @relativize(projectPath)
476 | .filter (projectPath) -> projectPath.length > 0 and not path.isAbsolute(projectPath)
Example from repos/atom/atom/src/git-repository.coffee:
476 | .filter (projectPath) -> projectPath.length > 0 and not path.isAbsolute(projectPath)
477 |
> 478 | @statusTask?.terminate()
| ^^^^^^^^^^^^^^^^^^^^^^
479 | new Promise (resolve) =>
480 | @statusTask = Task.once @handlerPath, @getPath(), relativeProjectPaths, ({statuses, upstream, branch, submodules}) =>
Example from repos/atom/atom/src/language-mode.coffee:
53 | else
54 | buffer.transact ->
> 55 | indentLength = buffer.lineForRow(start).match(/^\s*/)?[0].length ? 0
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
56 | buffer.insert([start, indentLength], commentStartString)
57 | buffer.insert([end, buffer.lineLengthForRow(end)], commentEndString)
Example from repos/atom/atom/src/language-mode.coffee:
62 | for row in [start..end] by 1
63 | line = buffer.lineForRow(row)
> 64 | blank = line?.match(/^\s*$/)
| ^^^^^^^^^^^
65 |
66 | allBlank = false unless blank
Example from repos/atom/atom/src/language-mode.coffee:
85 | for row in [start..end] by 1
86 | line = buffer.lineForRow(row)
> 87 | if indentLength = line.match(indentRegex)?[0].length
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
88 | buffer.insert([row, indentLength], commentStartString)
89 | else
Example from repos/atom/atom/src/language-mode.coffee:
149 |
150 | rowRangeForCommentAtBufferRow: (bufferRow) ->
> 151 | return unless @editor.tokenizedBuffer.tokenizedLines[bufferRow]?.isComment()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
152 |
153 | startRow = bufferRow
Example from repos/atom/atom/src/language-mode.coffee:
156 | if bufferRow > 0
157 | for currentRow in [bufferRow-1..0] by -1
> 158 | break unless @editor.tokenizedBuffer.tokenizedLines[currentRow]?.isComment()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
159 | startRow = currentRow
160 |
Example from repos/atom/atom/src/language-mode.coffee:
161 | if bufferRow < @buffer.getLastRow()
162 | for currentRow in [bufferRow+1..@buffer.getLastRow()] by 1
> 163 | break unless @editor.tokenizedBuffer.tokenizedLines[currentRow]?.isComment()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
164 | endRow = currentRow
165 |
Example from repos/atom/atom/src/language-mode.coffee:
175 | indentation = @editor.indentationForBufferRow(row)
176 | if indentation <= startIndentLevel
> 177 | includeRowInFold = indentation is startIndentLevel and @foldEndRegexForScopeDescriptor(scopeDescriptor)?.searchSync(@editor.lineTextForBufferRow(row))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
178 | foldEndRow = row if includeRowInFold
179 | break
Example from repos/atom/atom/src/language-mode.coffee:
190 | isLineCommentedAtBufferRow: (bufferRow) ->
191 | return false unless 0 <= bufferRow <= @editor.getLastBufferRow()
> 192 | @editor.tokenizedBuffer.tokenizedLines[bufferRow]?.isComment() ? false
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
193 |
194 | # Find a row range for a 'paragraph' around specified bufferRow. A paragraph
Example from repos/atom/atom/src/language-mode.coffee:
271 | unless @editor.isBufferRowCommented(precedingRow)
272 | precedingLine = @buffer.lineForRow(precedingRow)
> 273 | desiredIndentLevel += 1 if increaseIndentRegex?.testSync(precedingLine)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
274 | desiredIndentLevel -= 1 if decreaseNextIndentRegex?.testSync(precedingLine)
275 |
Example from repos/atom/atom/src/language-mode.coffee:
272 | precedingLine = @buffer.lineForRow(precedingRow)
273 | desiredIndentLevel += 1 if increaseIndentRegex?.testSync(precedingLine)
> 274 | desiredIndentLevel -= 1 if decreaseNextIndentRegex?.testSync(precedingLine)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
275 |
276 | unless @buffer.isRowBlank(precedingRow)
Example from repos/atom/atom/src/language-mode.coffee:
275 |
276 | unless @buffer.isRowBlank(precedingRow)
> 277 | desiredIndentLevel -= 1 if decreaseIndentRegex?.testSync(line)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
278 |
279 | Math.max(desiredIndentLevel, 0)
Example from repos/atom/atom/src/layer-decoration.coffee:
62 |
63 | getPropertiesForMarker: (marker) ->
> 64 | @overridePropertiesByMarker?.get(marker)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
65 |
Example from repos/atom/atom/src/main-process/application-menu.coffee:
120 | submenu: [
121 | {label: "Check for Update", metadata: {autoUpdate: true}}
> 122 | {label: 'Reload', accelerator: 'Command+R', click: => @focusedWindow()?.reload()}
| ^^^^^^^^^^^^^^^^^^^^^^^^
123 | {label: 'Close Window', accelerator: 'Command+Shift+W', click: => @focusedWindow()?.close()}
124 | {label: 'Toggle Dev Tools', accelerator: 'Command+Alt+I', click: => @focusedWindow()?.toggleDevTools()}
Example from repos/atom/atom/src/main-process/application-menu.coffee:
121 | {label: "Check for Update", metadata: {autoUpdate: true}}
122 | {label: 'Reload', accelerator: 'Command+R', click: => @focusedWindow()?.reload()}
> 123 | {label: 'Close Window', accelerator: 'Command+Shift+W', click: => @focusedWindow()?.close()}
| ^^^^^^^^^^^^^^^^^^^^^^^
124 | {label: 'Toggle Dev Tools', accelerator: 'Command+Alt+I', click: => @focusedWindow()?.toggleDevTools()}
125 | {label: 'Quit', accelerator: 'Command+Q', click: -> app.quit()}
Example from repos/atom/atom/src/main-process/application-menu.coffee:
122 | {label: 'Reload', accelerator: 'Command+R', click: => @focusedWindow()?.reload()}
123 | {label: 'Close Window', accelerator: 'Command+Shift+W', click: => @focusedWindow()?.close()}
> 124 | {label: 'Toggle Dev Tools', accelerator: 'Command+Alt+I', click: => @focusedWindow()?.toggleDevTools()}
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
125 | {label: 'Quit', accelerator: 'Command+Q', click: -> app.quit()}
126 | ]
Example from repos/atom/atom/src/main-process/atom-application.coffee:
165 | @windows.splice(@windows.indexOf(window), 1)
166 | if @windows.length is 0
> 167 | @applicationMenu?.enableWindowSpecificItems(false)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
168 | if process.platform in ['win32', 'linux']
169 | app.quit()
Example from repos/atom/atom/src/main-process/atom-application.coffee:
174 | addWindow: (window) ->
175 | @windows.push window
> 176 | @applicationMenu?.addWindow(window.browserWindow)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
177 | window.once 'window:loaded', =>
178 | @autoUpdateManager?.emitUpdateAvailableEvent(window)
Example from repos/atom/atom/src/main-process/atom-application.coffee:
176 | @applicationMenu?.addWindow(window.browserWindow)
177 | window.once 'window:loaded', =>
> 178 | @autoUpdateManager?.emitUpdateAvailableEvent(window)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
179 |
180 | unless window.isSpec
Example from repos/atom/atom/src/main-process/atom-application.coffee:
234 | @on 'application:inspect', ({x, y, atomWindow}) ->
235 | atomWindow ?= @focusedWindow()
> 236 | atomWindow?.browserWindow.inspectElement(x, y)
| ^^^^^^^^^^^^^^^^^^^^^^^^^
237 |
238 | @on 'application:open-documentation', -> shell.openExternal('http://flight-manual.atom.io/')
Example from repos/atom/atom/src/main-process/atom-application.coffee:
257 | @on 'application:zoom', -> Menu.sendActionToFirstResponder('zoom:')
258 | else
> 259 | @on 'application:minimize', -> @focusedWindow()?.minimize()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
260 | @on 'application:zoom', -> @focusedWindow()?.maximize()
261 |
Example from repos/atom/atom/src/main-process/atom-application.coffee:
258 | else
259 | @on 'application:minimize', -> @focusedWindow()?.minimize()
> 260 | @on 'application:zoom', -> @focusedWindow()?.maximize()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
261 |
262 | @openPathOnEvent('application:about', 'atom://about')
Example from repos/atom/atom/src/main-process/atom-application.coffee:
289 | @disposable.add ipcHelpers.on app, 'activate', (event, hasVisibleWindows) =>
290 | unless hasVisibleWindows
> 291 | event?.preventDefault()
| ^^^^^^^^^^^^^^^^^^^^^
292 | @emit('application:new-window')
293 |
Example from repos/atom/atom/src/main-process/atom-application.coffee:
322 | @disposable.add ipcHelpers.on ipcMain, 'update-application-menu', (event, template, keystrokesByCommand) =>
323 | win = BrowserWindow.fromWebContents(event.sender)
> 324 | @applicationMenu?.update(win, template, keystrokesByCommand)
| ^^^^^^^^^^^^^^^^^^^^^^^^
325 |
326 | @disposable.add ipcHelpers.on ipcMain, 'run-package-specs', (event, packageSpecPath) =>
Example from repos/atom/atom/src/main-process/atom-application.coffee:
346 |
347 | @disposable.add ipcHelpers.respondTo 'window-method', (browserWindow, method, args...) =>
> 348 | @atomWindowForBrowserWindow(browserWindow)?[method](args...)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
349 |
350 | @disposable.add ipcHelpers.on ipcMain, 'pick-folder', (event, responseChannel) =>
Example from repos/atom/atom/src/main-process/atom-application.coffee:
390 |
391 | @disposable.add ipcHelpers.on ipcMain, 'execute-javascript-in-dev-tools', (event, code) ->
> 392 | event.sender.devToolsWebContents?.executeJavaScript(code)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
393 |
394 | @disposable.add ipcHelpers.on ipcMain, 'get-auto-update-manager-state', (event) =>
Example from repos/atom/atom/src/main-process/atom-application.coffee:
499 | # the platform.
500 | getDimensionsForNewWindow: ->
> 501 | return if (@focusedWindow() ? @lastFocusedWindow)?.isMaximized()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
502 | dimensions = (@focusedWindow() ? @lastFocusedWindow)?.getDimensions()
503 | offset = @getWindowOffsetForCurrentPlatform()
Example from repos/atom/atom/src/main-process/atom-application.coffee:
500 | getDimensionsForNewWindow: ->
501 | return if (@focusedWindow() ? @lastFocusedWindow)?.isMaximized()
> 502 | dimensions = (@focusedWindow() ? @lastFocusedWindow)?.getDimensions()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
503 | offset = @getWindowOffsetForCurrentPlatform()
504 | if dimensions? and offset?
Example from repos/atom/atom/src/main-process/atom-window.coffee:
65 | for {pathToOpen} in locationsToOpen when pathToOpen
66 | stat = fs.statSyncNoException(pathToOpen) or null
> 67 | if stat?.isDirectory()
| ^^^^^^^^^^^^^^^^^
68 | pathToOpen
69 | else
Example from repos/atom/atom/src/main-process/atom-window.coffee:
69 | else
70 | parentDirectory = path.dirname(pathToOpen)
> 71 | if stat?.isFile() or fs.existsSync(parentDirectory)
| ^^^^^^^^^^^^
72 | parentDirectory
73 | else
Example from repos/atom/atom/src/main-process/spawner.coffee:
29 | spawnedProcess.on 'close', (code, signal) ->
30 | error ?= new Error("Command failed: #{signal ? code}") if code isnt 0
> 31 | error?.code ?= code
| ^^^^^^^^^^^
32 | error?.stdout ?= stdout
33 | callback?(error, stdout)
Example from repos/atom/atom/src/main-process/spawner.coffee:
30 | error ?= new Error("Command failed: #{signal ? code}") if code isnt 0
31 | error?.code ?= code
> 32 | error?.stdout ?= stdout
| ^^^^^^^^^^^^^
33 | callback?(error, stdout)
34 | # This is necessary if using Powershell 2 on Windows 7 to get the events to raise
Example from repos/atom/atom/src/module-cache.coffee:
51 | for childPath in fs.listSync(path.join(modulePath, 'node_modules'))
52 | continue if path.basename(childPath) is '.bin'
> 53 | continue if rootPath is modulePath and rootMetadata.packageDependencies?.hasOwnProperty(path.basename(childPath))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
54 |
55 | childMetadataPath = path.join(childPath, 'package.json')
Example from repos/atom/atom/src/module-cache.coffee:
104 | for childPath in fs.listSync(path.join(modulePath, 'node_modules'))
105 | continue if path.basename(childPath) is '.bin'
> 106 | continue if rootPath is modulePath and rootMetadata.packageDependencies?.hasOwnProperty(path.basename(childPath))
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
107 |
108 | loadFolderCompatibility(childPath, rootPath, rootMetadata, moduleCache)
Example from repos/atom/atom/src/module-cache.coffee:
136 | if parentPath is nodeModulesPath
137 | packageName = path.basename(childPath)
> 138 | return false if rootMetadata.packageDependencies?.hasOwnProperty(packageName)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
139 |
140 | true
Example from repos/atom/atom/src/module-cache.coffee:
160 | extension = path.extname(resolvedPath)
161 | if extension
> 162 | return resolvedPath if cache.extensions[extension]?.has(resolvedPath)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
163 | else
164 | for extension, paths of cache.extensions
Example from repos/atom/atom/src/package-manager.coffee:
205 | enablePackage: (name) ->
206 | pack = @loadPackage(name)
> 207 | pack?.enable()
| ^^^^^^^^^^^^
208 | pack
209 |
Example from repos/atom/atom/src/package-manager.coffee:
217 |
218 | unless @isPackageDisabled(name)
> 219 | pack?.disable()
| ^^^^^^^^^^^^^
220 |
221 | pack
Example from repos/atom/atom/src/package-manager.coffee:
354 |
355 | unobserveDisabledPackages: ->
> 356 | @disabledPackagesSubscription?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
357 | @disabledPackagesSubscription = null
358 |
Example from repos/atom/atom/src/package-manager.coffee:
367 |
368 | unobservePackagesWithKeymapsDisabled: ->
> 369 | @packagesWithKeymapsDisabledSubscription?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
370 | @packagesWithKeymapsDisabledSubscription = null
371 |
Example from repos/atom/atom/src/package-manager.coffee:
377 | disabledPackageNames = new Set(@config.get('core.disabledPackages'))
378 | for packageName in keymapsToDisable when not disabledPackageNames.has(packageName)
> 379 | @getLoadedPackage(packageName)?.deactivateKeymaps()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
380 | for packageName in keymapsToEnable when not disabledPackageNames.has(packageName)
381 | @getLoadedPackage(packageName)?.activateKeymaps()
Example from repos/atom/atom/src/package-manager.coffee:
379 | @getLoadedPackage(packageName)?.deactivateKeymaps()
380 | for packageName in keymapsToEnable when not disabledPackageNames.has(packageName)
> 381 | @getLoadedPackage(packageName)?.activateKeymaps()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
382 | null
383 |
Example from repos/atom/atom/src/package-manager.coffee:
437 | preloadedPackage = @preloadedPackages[availablePackage.name]
438 |
> 439 | if disabledPackageNames?.has(availablePackage.name)
| ^^^^^^^^^^^^^^^^^^^^^^^^^
440 | if preloadedPackage?
441 | preloadedPackage.deactivate()
Example from repos/atom/atom/src/package-manager.coffee:
614 |
615 | @resourcePathWithTrailingSlash ?= "#{@resourcePath}#{path.sep}"
> 616 | packagePath?.startsWith(@resourcePathWithTrailingSlash)
| ^^^^^^^^^^^^^^^^^^^^^^^
617 |
618 | loadPackageMetadata: (packagePathOrAvailablePackage, ignoreErrors=false) ->
Example from repos/atom/atom/src/package.coffee:
189 | @mainActivated = true
190 | @activateServices()
> 191 | @activationCommandSubscriptions?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
192 | @activationHookSubscriptions?.dispose()
193 | catch error
Example from repos/atom/atom/src/package.coffee:
190 | @activateServices()
191 | @activationCommandSubscriptions?.dispose()
> 192 | @activationHookSubscriptions?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
193 | catch error
194 | @handleError("Failed to activate the #{@name} package", error)
Example from repos/atom/atom/src/package.coffee:
277 | return if not @keymapActivated
278 |
> 279 | @keymapDisposables?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
280 | @menuManager.update()
281 |
Example from repos/atom/atom/src/package.coffee:
502 | @activationPromise = null
503 | @resolveActivationPromise = null
> 504 | @activationCommandSubscriptions?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
505 | @activationHookSubscriptions?.dispose()
506 | @configSchemaRegisteredOnActivate = false
Example from repos/atom/atom/src/package.coffee:
503 | @resolveActivationPromise = null
504 | @activationCommandSubscriptions?.dispose()
> 505 | @activationHookSubscriptions?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
506 | @configSchemaRegisteredOnActivate = false
507 | @deactivateResources()
Example from repos/atom/atom/src/package.coffee:
520 | grammar.deactivate() for grammar in @grammars
521 | settings.deactivate() for settings in @settings
> 522 | @stylesheetDisposables?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
523 | @activationDisposables?.dispose()
524 | @keymapDisposables?.dispose()
Example from repos/atom/atom/src/package.coffee:
521 | settings.deactivate() for settings in @settings
522 | @stylesheetDisposables?.dispose()
> 523 | @activationDisposables?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
524 | @keymapDisposables?.dispose()
525 | @stylesheetsActivated = false
Example from repos/atom/atom/src/package.coffee:
522 | @stylesheetDisposables?.dispose()
523 | @activationDisposables?.dispose()
> 524 | @keymapDisposables?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
525 | @stylesheetsActivated = false
526 | @grammarsActivated = false
Example from repos/atom/atom/src/package.coffee:
534 | @handleError("Failed to reload the #{@name} package stylesheets", error)
535 |
> 536 | @stylesheetDisposables?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
537 | @stylesheetDisposables = new CompositeDisposable
538 | @stylesheetsActivated = false
Example from repos/atom/atom/src/pane-axis-element.coffee:
32 |
33 | isPaneResizeHandleElement: (element) ->
> 34 | element?.nodeName.toLowerCase() is 'atom-pane-resize-handle'
| ^^^^^^^^^^^^^^^^^
35 |
36 | childAdded: ({child, index}) ->
Example from repos/atom/atom/src/pane-axis-element.coffee:
62 | @childRemoved({child: oldChild, index})
63 | @childAdded({child: newChild, index})
> 64 | focusedElement?.focus() if document.activeElement is document.body
| ^^^^^^^^^^^^^^^^^^^^^
65 |
66 | flexScaleChanged: (flexScale) -> @style.flexGrow = flexScale
Example from repos/atom/atom/src/pane-container-element.coffee:
16 | rootChanged: (root) ->
17 | focusedElement = document.activeElement if @hasFocus()
> 18 | @firstChild?.remove()
| ^^^^^^^^^^^^^^^^^^^
19 | if root?
20 | view = @views.getView(root)
Example from repos/atom/atom/src/pane-container-element.coffee:
20 | view = @views.getView(root)
21 | @appendChild(view)
> 22 | focusedElement?.focus()
| ^^^^^^^^^^^^^^^^^^^^^
23 |
24 | hasFocus: ->
Example from repos/atom/atom/src/pane-resize-handle-element.coffee:
18 | resizeToFitContent: ->
19 | # clear flex-grow css style of both pane
> 20 | @previousSibling?.model.setFlexScale(1)
| ^^^^^^^^^^^^^^^^^^^^^^^
21 | @nextSibling?.model.setFlexScale(1)
22 |
Example from repos/atom/atom/src/pane-resize-handle-element.coffee:
19 | # clear flex-grow css style of both pane
20 | @previousSibling?.model.setFlexScale(1)
> 21 | @nextSibling?.model.setFlexScale(1)
| ^^^^^^^^^^^^^^^^^^^
22 |
23 | resizeStarted: (e) ->
Example from repos/atom/atom/src/pane.coffee:
333 |
334 | unsubscribeFromItem: (item) ->
> 335 | @subscriptionsPerItem.get(item)?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
336 | @subscriptionsPerItem.delete(item)
337 |
Example from repos/atom/atom/src/pane.coffee:
357 | @activeItem = activeItem
358 | @emitter.emit 'did-change-active-item', @activeItem
> 359 | @container?.didChangeActiveItemOnPane(this, @activeItem)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
360 | @activeItem
361 |
Example from repos/atom/atom/src/pane.coffee:
518 |
519 | @emitter.emit 'did-add-item', {item, index, moved}
> 520 | @container?.didAddPaneItem(item, this, index) unless moved
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
521 |
522 | @destroyItem(lastPendingItem) if replacingPendingItem
Example from repos/atom/atom/src/pane.coffee:
571 | @items.splice(index, 1)
572 | @emitter.emit 'did-remove-item', {item, index, destroyed: not moved, moved}
> 573 | @container?.didDestroyPaneItem({item, index, pane: this}) unless moved
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
574 | @destroy() if @items.length is 0 and @config.get('core.destroyEmptyPanes')
575 |
Example from repos/atom/atom/src/pane.coffee:
622 | index = @items.indexOf(item)
623 | if index isnt -1
> 624 | return false if not force and @getContainer()?.getLocation() isnt 'center' and item.isPermanentDockItem?()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
625 | @emitter.emit 'will-destroy-item', {item, index}
626 | @container?.willDestroyPaneItem({item, index, pane: this})
Example from repos/atom/atom/src/pane.coffee:
624 | return false if not force and @getContainer()?.getLocation() isnt 'center' and item.isPermanentDockItem?()
625 | @emitter.emit 'will-destroy-item', {item, index}
> 626 | @container?.willDestroyPaneItem({item, index, pane: this})
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
627 | if force or not item?.shouldPromptToSave?()
628 | @removeItem(item, false)
Example from repos/atom/atom/src/pane.coffee:
795 | # Returns a {Boolean}.
796 | isActive: ->
> 797 | @container?.getActivePane() is this
| ^^^^^^^^^^^^^^^^^^^^^^^^^
798 |
799 | # Public: Makes this pane the *active* pane, causing it to gain focus.
Example from repos/atom/atom/src/pane.coffee:
800 | activate: ->
801 | throw new Error("Pane has been destroyed") if @isDestroyed()
> 802 | @container?.didActivatePane(this)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
803 | @emitter.emit 'did-activate'
804 |
Example from repos/atom/atom/src/pane.coffee:
808 | # itself will not be destroyed.
809 | destroy: ->
> 810 | if @container?.isAlive() and @container.getPanes().length is 1
| ^^^^^^^^^^^^^^^^^^^
811 | @destroyItems()
812 | else
Example from repos/atom/atom/src/pane.coffee:
813 | @emitter.emit 'will-destroy'
814 | @alive = false
> 815 | @container?.willDestroyPane(pane: this)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^
816 | @container.activateNextPane() if @isActive()
817 | @emitter.emit 'did-destroy'
Example from repos/atom/atom/src/pane.coffee:
818 | @emitter.dispose()
819 | item.destroy?() for item in @items.slice()
> 820 | @container?.didDestroyPane(pane: this)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
821 |
822 | isAlive: -> @alive
Example from repos/atom/atom/src/project.coffee:
33 | destroyed: ->
34 | buffer.destroy() for buffer in @buffers.slice()
> 35 | repository?.destroy() for repository in @repositories.slice()
| ^^^^^^^^^^^^^^^^^^^
36 | @rootDirectories = []
37 | @repositories = []
Example from repos/atom/atom/src/project.coffee:
41 | @emitter = new Emitter
42 |
> 43 | buffer?.destroy() for buffer in @buffers
| ^^^^^^^^^^^^^^^
44 | @buffers = []
45 | @setPaths([])
Example from repos/atom/atom/src/project.coffee:
169 | # * `projectPaths` {Array} of {String} paths.
170 | setPaths: (projectPaths) ->
> 171 | repository?.destroy() for repository in @repositories
| ^^^^^^^^^^^^^^^^^^^
172 | @rootDirectories = []
173 | @repositories = []
Example from repos/atom/atom/src/project.coffee:
220 | [removedDirectory] = @rootDirectories.splice(indexToRemove, 1)
221 | [removedRepository] = @repositories.splice(indexToRemove, 1)
> 222 | removedRepository?.destroy() unless removedRepository in @repositories
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
223 | @emitter.emit "did-change-paths", @getPaths()
224 | true
Example from repos/atom/atom/src/project.coffee:
233 | return unless uri
234 |
> 235 | if uri?.match(/[A-Za-z0-9+-.]+:\/\//) # leave path alone if it has a scheme
| ^^^^^^^^^^
236 | uri
237 | else
Example from repos/atom/atom/src/project.coffee:
329 | # Is the buffer for the given path modified?
330 | isPathModified: (filePath) ->
> 331 | @findBufferForPath(@resolvePath(filePath))?.isModified()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
332 |
333 | findBufferForPath: (filePath) ->
Example from repos/atom/atom/src/project.coffee:
416 | removeBufferAtIndex: (index, options={}) ->
417 | [buffer] = @buffers.splice(index, 1)
> 418 | buffer?.destroy()
| ^^^^^^^^^^^^^^^
419 |
420 | eachBuffer: (args...) ->
Example from repos/atom/atom/src/register-default-commands.coffee:
36 | 'application:new-file': -> ipcRenderer.send('command', 'application:new-file')
37 | 'application:open': ->
> 38 | defaultPath = atom.workspace.getActiveTextEditor()?.getPath() ? atom.project.getPaths()?[0]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
39 | ipcRenderer.send('open-command', 'application:open', defaultPath)
40 | 'application:open-file': ->
Example from repos/atom/atom/src/register-default-commands.coffee:
39 | ipcRenderer.send('open-command', 'application:open', defaultPath)
40 | 'application:open-file': ->
> 41 | defaultPath = atom.workspace.getActiveTextEditor()?.getPath() ? atom.project.getPaths()?[0]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
42 | ipcRenderer.send('open-command', 'application:open-file', defaultPath)
43 | 'application:open-folder': ->
Example from repos/atom/atom/src/register-default-commands.coffee:
42 | ipcRenderer.send('open-command', 'application:open-file', defaultPath)
43 | 'application:open-folder': ->
> 44 | defaultPath = atom.workspace.getActiveTextEditor()?.getPath() ? atom.project.getPaths()?[0]
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
45 | ipcRenderer.send('open-command', 'application:open-folder', defaultPath)
46 | 'application:open-dev': -> ipcRenderer.send('command', 'application:open-dev')
Example from repos/atom/atom/src/selection.coffee:
480 | bufferRange = @getBufferRange()
481 | @editor.buffer.delete(bufferRange) unless bufferRange.isEmpty()
> 482 | @cursor?.setBufferPosition(bufferRange.start)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
483 |
484 | # Public: Removes the line at the beginning of the selection if the selection
Example from repos/atom/atom/src/selection.coffee:
554 | leadingTabRegex = new RegExp("^( {1,#{@editor.getTabLength()}}|\t)")
555 | for row in [start..end]
> 556 | if matchLength = buffer.lineForRow(row).match(leadingTabRegex)?[0].length
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
557 | buffer.delete [[row, 0], [row, matchLength]]
558 | return
Example from repos/atom/atom/src/selection.coffee:
807 |
808 | finalize: ->
> 809 | @initialScreenRange = null unless @initialScreenRange?.isEqual(@getScreenRange())
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
810 | if @isEmpty()
811 | @wordwise = false
Example from repos/atom/atom/src/task.coffee:
149 |
150 | @childProcess.removeAllListeners()
> 151 | @childProcess.stdout?.removeAllListeners()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
152 | @childProcess.stderr?.removeAllListeners()
153 | @childProcess.kill()
Example from repos/atom/atom/src/task.coffee:
150 | @childProcess.removeAllListeners()
151 | @childProcess.stdout?.removeAllListeners()
> 152 | @childProcess.stderr?.removeAllListeners()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
153 | @childProcess.kill()
154 | @childProcess = null
Example from repos/atom/atom/src/text-editor.coffee:
264 |
265 | if @getApproximateLongestScreenRow() isnt previousLongestRow
> 266 | @component?.scheduleUpdate()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
267 |
268 | update: (params) ->
Example from repos/atom/atom/src/text-editor.coffee:
336 | else
337 | @decorateCursorLine()
> 338 | @component?.scheduleUpdate()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
339 |
340 | when 'placeholderText'
Example from repos/atom/atom/src/text-editor.coffee:
359 | if value isnt @showLineNumbers
360 | @showLineNumbers = value
> 361 | @component?.scheduleUpdate()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
362 |
363 | when 'showInvisibles'
Example from repos/atom/atom/src/text-editor.coffee:
384 | if value isnt @scrollPastEnd
385 | @scrollPastEnd = value
> 386 | @component?.scheduleUpdate()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
387 |
388 | when 'autoHeight'
Example from repos/atom/atom/src/text-editor.coffee:
397 | if value isnt @showCursorOnSelection
398 | @showCursorOnSelection = value
> 399 | @component?.scheduleUpdate()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
400 |
401 | else
Example from repos/atom/atom/src/text-editor.coffee:
411 |
412 | scheduleComponentUpdate: ->
> 413 | @component?.scheduleUpdate()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
414 |
415 | serialize: ->
Example from repos/atom/atom/src/text-editor.coffee:
460 | @disposables.add @displayLayer.onDidChangeSync (e) =>
461 | @mergeIntersectingSelections()
> 462 | @component?.didChangeDisplayLayer(e)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
463 | @emitter.emit 'did-change', e
464 | @disposables.add @displayLayer.onDidReset =>
Example from repos/atom/atom/src/text-editor.coffee:
464 | @disposables.add @displayLayer.onDidReset =>
465 | @mergeIntersectingSelections()
> 466 | @component?.didResetDisplayLayer()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
467 | @emitter.emit 'did-change', {}
468 | @disposables.add @selectionsMarkerLayer.onDidCreateMarker @addSelection.bind(this)
Example from repos/atom/atom/src/text-editor.coffee:
467 | @emitter.emit 'did-change', {}
468 | @disposables.add @selectionsMarkerLayer.onDidCreateMarker @addSelection.bind(this)
> 469 | @disposables.add @selectionsMarkerLayer.onDidUpdate => @component?.didUpdateSelections()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
470 |
471 | destroyed: ->
Example from repos/atom/atom/src/text-editor.coffee:
479 | @emitter.emit 'did-destroy'
480 | @emitter.clear()
> 481 | @component?.element.component = null
| ^^^^^^^^^^^^^^^^^^^
482 | @component = null
483 | @lineNumberGutter.element = null
Example from repos/atom/atom/src/text-editor.coffee:
739 | didAddDecoration: (decoration) ->
740 | if decoration.isType('block')
> 741 | @component?.didAddBlockDecoration(decoration)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
742 |
743 | # Extended: Calls your `callback` when the placeholder text is changed.
Example from repos/atom/atom/src/text-editor.coffee:
1179 | selectionsToMove = [selection]
1180 |
> 1181 | while selection.end.row is selections[0]?.start.row
| ^^^^^^^^^^^^^^^^^^^^
1182 | selectionsToMove.push(selections[0])
1183 | selection.end.row = selections[0].end.row
Example from repos/atom/atom/src/text-editor.coffee:
1241 |
1242 | # if the current selection start row matches the next selections' end row - make them one selection
> 1243 | while selection.start.row is selections[0]?.end.row
| ^^^^^^^^^^^^^^^^^^
1244 | selectionsToMove.push(selections[0])
1245 | selection.start.row = selections[0].start.row
Example from repos/atom/atom/src/text-editor.coffee:
2090 |
2091 | destroyMarker: (id) ->
> 2092 | @getMarker(id)?.destroy()
| ^^^^^^^^^^^^^^^^^^^^^^^
2093 |
2094 | # Essential: Create a marker layer to group related markers.
Example from repos/atom/atom/src/text-editor.coffee:
2866 | # Called by the selection
2867 | selectionRangeChanged: (event) ->
> 2868 | @component?.didChangeSelectionRange()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2869 | @emitter.emit 'did-change-selection-range', event
2870 |
Example from repos/atom/atom/src/text-editor.coffee:
2985 | usesSoftTabs: ->
2986 | for bufferRow in [0..Math.min(1000, @buffer.getLastRow())]
> 2987 | continue if @tokenizedBuffer.tokenizedLines[bufferRow]?.isComment()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2988 |
2989 | line = @buffer.lineForRow(bufferRow)
Example from repos/atom/atom/src/text-editor.coffee:
3494 | screenRange = @clipScreenRange(screenRange) if options.clip isnt false
3495 | scrollEvent = {screenRange, options}
> 3496 | @component?.didRequestAutoscroll(scrollEvent)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
3497 | @emitter.emit "did-request-autoscroll", scrollEvent
3498 |
Example from repos/atom/atom/src/theme-manager.coffee:
143 |
144 | unwatchUserStylesheet: ->
> 145 | @userStylsheetSubscriptions?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
146 | @userStylsheetSubscriptions = null
147 | @userStylesheetFile = null
Example from repos/atom/atom/src/theme-manager.coffee:
146 | @userStylsheetSubscriptions = null
147 | @userStylesheetFile = null
> 148 | @userStyleSheetDisposable?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
149 | @userStyleSheetDisposable = null
150 |
Example from repos/atom/atom/src/theme-manager.coffee:
247 |
248 | removeStylesheet: (stylesheetPath) ->
> 249 | @styleSheetDisposablesBySourcePath[stylesheetPath]?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
250 |
251 | applyStylesheet: (path, text, priority, skipDeprecatedSelectorsTransformation) ->
Example from repos/atom/atom/src/theme-manager.coffee:
306 |
307 | refreshLessCache: ->
> 308 | @lessCache?.setImportPaths(@getImportPaths())
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
309 |
310 | getImportPaths: ->
Example from repos/atom/atom/src/tokenized-buffer.coffee:
94 | @rootScopeDescriptor = new ScopeDescriptor(scopes: [@grammar.scopeName])
95 |
> 96 | @grammarUpdateDisposable?.dispose()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
97 | @grammarUpdateDisposable = @grammar.onDidUpdate => @retokenizeLines()
98 | @disposables.add(@grammarUpdateDisposable)
Example from repos/atom/atom/src/tokenized-buffer.coffee:
225 | nextRow = @buffer.nextNonBlankRow(row)
226 | tokenizedLine = @tokenizedLines[row]
> 227 | if @buffer.isRowBlank(row) or tokenizedLine?.isComment() or not nextRow?
| ^^^^^^^^^^^^^^^^^^^^^^^^
228 | false
229 | else
Example from repos/atom/atom/src/tokenized-buffer.coffee:
239 | else
240 | Boolean(
> 241 | not (@tokenizedLines[previousRow]?.isComment()) and
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
242 | @tokenizedLines[row]?.isComment() and
243 | @tokenizedLines[nextRow]?.isComment()
Example from repos/atom/atom/src/tokenized-buffer.coffee:
240 | Boolean(
241 | not (@tokenizedLines[previousRow]?.isComment()) and
> 242 | @tokenizedLines[row]?.isComment() and
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
243 | @tokenizedLines[nextRow]?.isComment()
244 | )
Example from repos/atom/atom/src/tokenized-buffer.coffee:
241 | not (@tokenizedLines[previousRow]?.isComment()) and
242 | @tokenizedLines[row]?.isComment() and
> 243 | @tokenizedLines[nextRow]?.isComment()
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
244 | )
245 |
Example from repos/atom/atom/src/window-event-handler.coffee:
177 | handleLinkClick: (event) =>
178 | event.preventDefault()
> 179 | uri = event.currentTarget?.getAttribute('href')
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
180 | if uri and uri[0] isnt '#' and /^https?:\/\//.test(uri)
181 | @applicationDelegate.openExternal(uri)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment