pulsar/docs/Pulsar-API-Documentation.md
2023-03-15 05:04:05 +00:00

17 KiB

Classes

AtomEnvironment

Pulsar global for dealing with packages, themes, menus, and the window.

An instance of this class is always available as the atom global.

Clipboard

Constants

etch
css

This file will manage the updating of autocomplete-css completions.json. We will mainly utilize @webref/css.listAll() function that returns a full CSS list of all properties seperated by their spec shortname. An example of this format is defined below for ease of future modifications.

Some important notes about the data contained here: - Often times the value within the property will be in the following format: <valueGroupName> or even <valueGroupName> | value | value2 or just value | value2 It will be important to build a parser that can handle this format. The <valueGroupName> then can be realized via that specs values where values[x].name will match the <valueGroupName>. Another important note about handling values here is that oftentimes values[x].values[] won't actually contain all possible values. And instead this must be handled by checking values[x].value which is another string of <valueGroupName> | value. So this should be handled by the same parser. - Additionally an important note is that nowhere in this data do we get any kind of description about the data that could lend a hand in being documentation. So the documentation must be gathered seperatly. Likely the best way to collect our documentation data is via mdn/content. Within content/files/en-us/web/css is a directory of folders titled by the name of properties.

The last important thing to note here:
  MDN doesn't have docs on everything. And that's a good thing. But it means
  many of our items don't have any kind of description. For this situation
  we have `manual-property-desc.json` which is a list of manually updated
  descriptions for properties where there are none. This was a last resort
  intended to provide the highest quality of completions possible.
  Overtime many items on this list will likely be able to be removed just as
  new ones are added. After running the update script you'll see a warning
  saying how many properties are without completions that would then need to
  be added to the JSON file.

"spec-shortname": { "spec": { "title": "", "url": "" }, "properties": [ { "name": "", "value": "", "initial": "", "appliesTo": "", "percentages": "", "computedValue": "", "canonicalOrder": "", "animationType": "", "media": "", "styleDeclaration": [ "", "", "" ] } ], "atrules": [ { "name": "", "descriptors": [ { "name": "", "for": "", "value": "", "type": "" } ] } ], "selectors": [], "values": [ { "name": "", "type": "", "prose": "Optional description", "value": "", "values": [ { "name": "", "prose": "Optional Description", "type": "", "value": "" } ] } ], "warnings": [] }

fs
dalek
assert

Functions

beforeEach()
beforeEach()
conditionPromise()
destroy()
destroyChildren()
releaseChildren()
subscribeToRepository()
updateDiffs()
beforeEach()
beforeEach()
beforeEach()
conditionPromise()
beforeEach()

AtomEnvironment

Pulsar global for dealing with packages, themes, menus, and the window.

An instance of this class is always available as the atom global.

Kind: global class

atomEnvironment.clipboard : Clipboard

Kind: instance property of AtomEnvironment

atomEnvironment.deserializers : DeserializerManager

Kind: instance property of AtomEnvironment

atomEnvironment.views : ViewRegistry

Kind: instance property of AtomEnvironment

atomEnvironment.notifications : NotificationManager

Kind: instance property of AtomEnvironment

atomEnvironment.config : Config

Kind: instance property of AtomEnvironment

atomEnvironment.keymaps : KeymapManager

Kind: instance property of AtomEnvironment

atomEnvironment.tooltips : TooltipManager

Kind: instance property of AtomEnvironment

atomEnvironment.commands : CommandRegistry

Kind: instance property of AtomEnvironment

atomEnvironment.grammars : GrammarRegistry

Kind: instance property of AtomEnvironment

atomEnvironment.styles : StyleManager

Kind: instance property of AtomEnvironment

atomEnvironment.packages : PackageManager

Kind: instance property of AtomEnvironment

atomEnvironment.themes : ThemeManager

Kind: instance property of AtomEnvironment

atomEnvironment.menu : MenuManager

Kind: instance property of AtomEnvironment

atomEnvironment.contextMenu : ContextMenuManager

Kind: instance property of AtomEnvironment

atomEnvironment.project : Project

Kind: instance property of AtomEnvironment

atomEnvironment.textEditors : TextEditorRegistry

Kind: instance property of AtomEnvironment

atomEnvironment.workspace : Workspace

Kind: instance property of AtomEnvironment

atomEnvironment.history : HistoryManager

Kind: instance property of AtomEnvironment

atomEnvironment.beep()

Visually and audibly trigger a beep.

Kind: instance method of AtomEnvironment
Category: Messaging the User
Emits: event:beep

AtomEnvironment.onDidBeep(callback) ⇒ Disposable

Invoke the given callback whenever ::beep is called.

Kind: static method of AtomEnvironment
Returns: Disposable - on which .dispose() can be called to unsubscribe.
Category: Event Subscription

Param Type Description
callback function Function to be called whenever ::beep is called.

Clipboard

Kind: global class

new Clipboard()

Represents the clipboard used for copying and pasting in Pulsar.

An instance of this class is always available as the atom.clipboard global.

Example

// returns 'hello'
atom.clipboard.write('hello');

console.log(atom.clipboard.read());

etch

Kind: global constant
Jsx: etch.dom

css

This file will manage the updating of autocomplete-css completions.json. We will mainly utilize @webref/css.listAll() function that returns a full CSS list of all properties seperated by their spec shortname. An example of this format is defined below for ease of future modifications.

Some important notes about the data contained here: - Often times the value within the property will be in the following format: <valueGroupName> or even <valueGroupName> | value | value2 or just value | value2 It will be important to build a parser that can handle this format. The <valueGroupName> then can be realized via that specs values where values[x].name will match the <valueGroupName>. Another important note about handling values here is that oftentimes values[x].values[] won't actually contain all possible values. And instead this must be handled by checking values[x].value which is another string of <valueGroupName> | value. So this should be handled by the same parser. - Additionally an important note is that nowhere in this data do we get any kind of description about the data that could lend a hand in being documentation. So the documentation must be gathered seperatly. Likely the best way to collect our documentation data is via mdn/content. Within content/files/en-us/web/css is a directory of folders titled by the name of properties.

The last important thing to note here:
  MDN doesn't have docs on everything. And that's a good thing. But it means
  many of our items don't have any kind of description. For this situation
  we have `manual-property-desc.json` which is a list of manually updated
  descriptions for properties where there are none. This was a last resort
  intended to provide the highest quality of completions possible.
  Overtime many items on this list will likely be able to be removed just as
  new ones are added. After running the update script you'll see a warning
  saying how many properties are without completions that would then need to
  be added to the JSON file.

"spec-shortname": { "spec": { "title": "", "url": "" }, "properties": [ { "name": "", "value": "", "initial": "", "appliesTo": "", "percentages": "", "computedValue": "", "canonicalOrder": "", "animationType": "", "media": "", "styleDeclaration": [ "", "", "" ] } ], "atrules": [ { "name": "", "descriptors": [ { "name": "", "for": "", "value": "", "type": "" } ] } ], "selectors": [], "values": [ { "name": "", "type": "", "prose": "Optional description", "value": "", "values": [ { "name": "", "prose": "Optional Description", "type": "", "value": "" } ] } ], "warnings": [] }

Kind: global constant

fs

Kind: global constant
Babel:

dalek

Kind: global constant
Babel:

assert

Kind: global constant
Babel:

beforeEach()

Kind: global function
Babel:

beforeEach()

Kind: global function
Babel:

conditionPromise()

Kind: global function
Babel:

destroy()

Kind: global function
Describe: Handles tear down of destructables and subscriptions. Does not handle release of memory. This method should only be called just before this object is freed, and should only tear down the main object components that are guarunteed to exist at all times.

destroyChildren()

Kind: global function
Describe: Destroys this objects children (non-freeing), it's intended to be an ease-of use function for maintaing this object. This method should only tear down objects that are selectively allocated upon repository discovery.

Example: this.diffs only exists when we have a repository.

releaseChildren()

Kind: global function
Describe: The memory releasing complement function of destroyChildren. frees the memory allocated at all child object storage locations when there is no repository.

subscribeToRepository()

Kind: global function
Describe: handles all subscriptions based on the repository in focus

updateDiffs()

Kind: global function
Describe: Uses text markers in the target editor to visualize git modifications, additions, and deletions. The current algorithm just redraws the markers each call.

beforeEach()

Kind: global function
Babel:

beforeEach()

Kind: global function
Babel:

beforeEach()

Kind: global function
Babel:

conditionPromise()

Kind: global function
Babel:

beforeEach()

Kind: global function
Babel: