Merge remote-tracking branch 'origin/rebrand' into rebrand-and-bump-electron-to-12
@ -21,8 +21,8 @@ RUN apt-get update && \
|
||||
npm && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Update npm and dependencies
|
||||
RUN npm install -g npm --loglevel error
|
||||
COPY . /pulsar
|
||||
WORKDIR /pulsar
|
||||
|
||||
# Use python2 by default
|
||||
RUN npm config set python /usr/bin/python2 -g
|
||||
|
@ -2,4 +2,4 @@
|
||||
|
||||
On this directory, we can include things that we found out how they work, and how do we want to handle that in the future
|
||||
|
||||
- [Tree Sitter](tree-sitter.md), the tokenizer for the Atom Text Editor
|
||||
- [Tree Sitter](tree-sitter.md), the tokenizer for the Pulsar Text Editor
|
||||
|
2
dot-atom/.gitignore
vendored
@ -5,4 +5,4 @@ storage
|
||||
.apm
|
||||
.node-gyp
|
||||
.npm
|
||||
.atom-socket-secret-*
|
||||
.pulsar-socket-secret-*
|
||||
|
@ -1,6 +1,6 @@
|
||||
# Your init script
|
||||
#
|
||||
# Atom will evaluate this file each time a new window is opened. It is run
|
||||
# Pulsar will evaluate this file each time a new window is opened. It is run
|
||||
# after packages are loaded/activated and after the previous editor state
|
||||
# has been restored.
|
||||
#
|
||||
|
@ -1,14 +1,14 @@
|
||||
# Your keymap
|
||||
#
|
||||
# Atom keymaps work similarly to style sheets. Just as style sheets use
|
||||
# selectors to apply styles to elements, Atom keymaps use selectors to associate
|
||||
# Pulsar keymaps work similarly to style sheets. Just as style sheets use
|
||||
# selectors to apply styles to elements, Pulsar keymaps use selectors to associate
|
||||
# keystrokes with events in specific contexts. Unlike style sheets however,
|
||||
# each selector can only be declared once.
|
||||
#
|
||||
# You can create a new keybinding in this file by typing "key" and then hitting
|
||||
# tab.
|
||||
#
|
||||
# Here's an example taken from Atom's built-in keymap:
|
||||
# Here's an example taken from Pulsar's built-in keymap:
|
||||
#
|
||||
# 'atom-text-editor':
|
||||
# 'enter': 'editor:newline'
|
||||
@ -28,5 +28,5 @@
|
||||
#
|
||||
# This file uses CoffeeScript Object Notation (CSON).
|
||||
# If you are unfamiliar with CSON, you can read more about it in the
|
||||
# Atom Flight Manual:
|
||||
# Pulsar Flight Manual:
|
||||
# http://flight-manual.atom.io/using-atom/sections/basic-customization/#configuring-with-cson
|
||||
|
@ -1,6 +1,6 @@
|
||||
# Your snippets
|
||||
#
|
||||
# Atom snippets allow you to enter a simple prefix in the editor and hit tab to
|
||||
# Pulsar snippets allow you to enter a simple prefix in the editor and hit tab to
|
||||
# expand the prefix into a larger code block with templated values.
|
||||
#
|
||||
# You can create a new snippet in this file by typing "snip" and then hitting
|
||||
@ -17,5 +17,5 @@
|
||||
#
|
||||
# This file uses CoffeeScript Object Notation (CSON).
|
||||
# If you are unfamiliar with CSON, you can read more about it in the
|
||||
# Atom Flight Manual:
|
||||
# Pulsar Flight Manual:
|
||||
# http://flight-manual.atom.io/using-atom/sections/basic-customization/#_cson
|
||||
|
@ -6,7 +6,7 @@
|
||||
'shift-end': 'editor:select-to-end-of-line'
|
||||
|
||||
'atom-text-editor:not([mini])':
|
||||
# Atom Specific
|
||||
# Pulsar Specific
|
||||
'ctrl-shift-c': 'editor:copy-path'
|
||||
'alt-up': 'editor:select-larger-syntax-node'
|
||||
'alt-down': 'editor:select-smaller-syntax-node'
|
||||
|
@ -17,7 +17,7 @@
|
||||
'ctrl-h': 'core:backspace'
|
||||
'ctrl-d': 'core:delete'
|
||||
|
||||
# Atom Specific
|
||||
# Pulsar Specific
|
||||
'enter': 'core:confirm'
|
||||
'escape': 'core:cancel'
|
||||
'up': 'core:move-up'
|
||||
@ -83,12 +83,12 @@
|
||||
'cmd--': 'window:decrease-font-size'
|
||||
'cmd-0': 'window:reset-font-size'
|
||||
|
||||
'cmd-k up': 'pane:split-up-and-copy-active-item' # Atom Specific
|
||||
'cmd-k down': 'pane:split-down-and-copy-active-item' # Atom Specific
|
||||
'cmd-k left': 'pane:split-left-and-copy-active-item' # Atom Specific
|
||||
'cmd-k right': 'pane:split-right-and-copy-active-item' # Atom Specific
|
||||
'cmd-k cmd-w': 'pane:close' # Atom Specific
|
||||
'cmd-k alt-cmd-w': 'pane:close-other-items' # Atom Specific
|
||||
'cmd-k up': 'pane:split-up-and-copy-active-item' # Pulsar Specific
|
||||
'cmd-k down': 'pane:split-down-and-copy-active-item' # Pulsar Specific
|
||||
'cmd-k left': 'pane:split-left-and-copy-active-item' # Pulsar Specific
|
||||
'cmd-k right': 'pane:split-right-and-copy-active-item' # Pulsar Specific
|
||||
'cmd-k cmd-w': 'pane:close' # Pulsar Specific
|
||||
'cmd-k alt-cmd-w': 'pane:close-other-items' # Pulsar Specific
|
||||
'cmd-k cmd-p': 'window:focus-previous-pane'
|
||||
'cmd-k cmd-n': 'window:focus-next-pane'
|
||||
'cmd-k cmd-up': 'window:focus-pane-above'
|
||||
@ -128,7 +128,7 @@
|
||||
'ctrl-e': 'editor:move-to-end-of-line'
|
||||
'ctrl-k': 'editor:cut-to-end-of-line'
|
||||
|
||||
# Atom Specific
|
||||
# Pulsar Specific
|
||||
'ctrl-shift-w': 'editor:select-word'
|
||||
'cmd-ctrl-left': 'editor:move-selection-left'
|
||||
'cmd-ctrl-right': 'editor:move-selection-right'
|
||||
@ -163,7 +163,7 @@
|
||||
'ctrl-alt-delete': 'editor:delete-to-end-of-subword'
|
||||
|
||||
'atom-workspace atom-text-editor:not([mini])':
|
||||
# Atom specific
|
||||
# Pulsar specific
|
||||
'alt-cmd-z': 'editor:checkout-head-revision'
|
||||
'cmd-<': 'editor:scroll-to-cursor'
|
||||
'alt-cmd-ctrl-f': 'editor:fold-selection'
|
||||
@ -186,8 +186,8 @@
|
||||
|
||||
'cmd-alt-[': 'editor:fold-current-row'
|
||||
'cmd-alt-]': 'editor:unfold-current-row'
|
||||
'cmd-alt-{': 'editor:fold-all' # Atom Specific
|
||||
'cmd-alt-}': 'editor:unfold-all' # Atom Specific
|
||||
'cmd-alt-{': 'editor:fold-all' # Pulsar Specific
|
||||
'cmd-alt-}': 'editor:unfold-all' # Pulsar Specific
|
||||
'cmd-k cmd-0': 'editor:unfold-all'
|
||||
'cmd-k cmd-1': 'editor:fold-at-indent-level-1'
|
||||
'cmd-k cmd-2': 'editor:fold-at-indent-level-2'
|
||||
|
@ -1,5 +1,5 @@
|
||||
'body':
|
||||
# Atom Specific
|
||||
# Pulsar Specific
|
||||
'enter': 'core:confirm'
|
||||
'escape': 'core:cancel'
|
||||
'up': 'core:move-up'
|
||||
@ -65,12 +65,12 @@
|
||||
'ctrl-_': 'window:decrease-font-size'
|
||||
'ctrl-0': 'window:reset-font-size'
|
||||
|
||||
'ctrl-k up': 'pane:split-up-and-copy-active-item' # Atom Specific
|
||||
'ctrl-k down': 'pane:split-down-and-copy-active-item' # Atom Specific
|
||||
'ctrl-k left': 'pane:split-left-and-copy-active-item' # Atom Specific
|
||||
'ctrl-k right': 'pane:split-right-and-copy-active-item' # Atom Specific
|
||||
'ctrl-k ctrl-w': 'pane:close' # Atom Specific
|
||||
'ctrl-k ctrl-alt-w': 'pane:close-other-items' # Atom Specific
|
||||
'ctrl-k up': 'pane:split-up-and-copy-active-item' # Pulsar Specific
|
||||
'ctrl-k down': 'pane:split-down-and-copy-active-item' # Pulsar Specific
|
||||
'ctrl-k left': 'pane:split-left-and-copy-active-item' # Pulsar Specific
|
||||
'ctrl-k right': 'pane:split-right-and-copy-active-item' # Pulsar Specific
|
||||
'ctrl-k ctrl-w': 'pane:close' # Pulsar Specific
|
||||
'ctrl-k ctrl-alt-w': 'pane:close-other-items' # Pulsar Specific
|
||||
'ctrl-k ctrl-p': 'window:focus-previous-pane'
|
||||
'ctrl-k ctrl-n': 'window:focus-next-pane'
|
||||
'ctrl-k ctrl-up': 'window:focus-pane-above'
|
||||
@ -114,7 +114,7 @@
|
||||
'ctrl-l': 'editor:select-line'
|
||||
|
||||
'atom-workspace atom-text-editor:not([mini])':
|
||||
# Atom specific
|
||||
# Pulsar specific
|
||||
'ctrl-<': 'editor:scroll-to-cursor'
|
||||
'ctrl-alt-shift-[': 'editor:fold-selection'
|
||||
|
||||
@ -133,8 +133,8 @@
|
||||
|
||||
'ctrl-alt-[': 'editor:fold-current-row'
|
||||
'ctrl-alt-]': 'editor:unfold-current-row'
|
||||
'ctrl-alt-{': 'editor:fold-all' # Atom Specific
|
||||
'ctrl-alt-}': 'editor:unfold-all' # Atom Specific
|
||||
'ctrl-alt-{': 'editor:fold-all' # Pulsar Specific
|
||||
'ctrl-alt-}': 'editor:unfold-all' # Pulsar Specific
|
||||
'ctrl-k ctrl-0': 'editor:unfold-all'
|
||||
'ctrl-k ctrl-1': 'editor:fold-at-indent-level-1'
|
||||
'ctrl-k ctrl-2': 'editor:fold-at-indent-level-2'
|
||||
|
@ -3,7 +3,7 @@
|
||||
'ctrl-pageup': 'pane:show-previous-item'
|
||||
'ctrl-pagedown': 'pane:show-next-item'
|
||||
|
||||
# Atom Specific
|
||||
# Pulsar Specific
|
||||
'enter': 'core:confirm'
|
||||
'escape': 'core:cancel'
|
||||
'up': 'core:move-up'
|
||||
@ -70,12 +70,12 @@
|
||||
'ctrl-_': 'window:decrease-font-size'
|
||||
'ctrl-0': 'window:reset-font-size'
|
||||
|
||||
'ctrl-k up': 'pane:split-up-and-copy-active-item' # Atom Specific
|
||||
'ctrl-k down': 'pane:split-down-and-copy-active-item' # Atom Specific
|
||||
'ctrl-k left': 'pane:split-left-and-copy-active-item' # Atom Specific
|
||||
'ctrl-k right': 'pane:split-right-and-copy-active-item' # Atom Specific
|
||||
'ctrl-k ctrl-w': 'pane:close' # Atom Specific
|
||||
'ctrl-k ctrl-alt-w': 'pane:close-other-items' # Atom Specific
|
||||
'ctrl-k up': 'pane:split-up-and-copy-active-item' # Pulsar Specific
|
||||
'ctrl-k down': 'pane:split-down-and-copy-active-item' # Pulsar Specific
|
||||
'ctrl-k left': 'pane:split-left-and-copy-active-item' # Pulsar Specific
|
||||
'ctrl-k right': 'pane:split-right-and-copy-active-item' # Pulsar Specific
|
||||
'ctrl-k ctrl-w': 'pane:close' # Pulsar Specific
|
||||
'ctrl-k ctrl-alt-w': 'pane:close-other-items' # Pulsar Specific
|
||||
'ctrl-k ctrl-p': 'window:focus-previous-pane'
|
||||
'ctrl-k ctrl-n': 'window:focus-next-pane'
|
||||
'ctrl-k ctrl-up': 'window:focus-pane-above'
|
||||
@ -119,7 +119,7 @@
|
||||
'ctrl-l': 'editor:select-line'
|
||||
|
||||
'atom-workspace atom-text-editor:not([mini])':
|
||||
# Atom specific
|
||||
# Pulsar specific
|
||||
'ctrl-<': 'editor:scroll-to-cursor'
|
||||
'ctrl-alt-shift-[': 'editor:fold-selection'
|
||||
|
||||
@ -136,8 +136,8 @@
|
||||
|
||||
'ctrl-alt-[': 'editor:fold-current-row'
|
||||
'ctrl-alt-]': 'editor:unfold-current-row'
|
||||
'ctrl-alt-{': 'editor:fold-all' # Atom Specific
|
||||
'ctrl-alt-}': 'editor:unfold-all' # Atom Specific
|
||||
'ctrl-alt-{': 'editor:fold-all' # Pulsar Specific
|
||||
'ctrl-alt-}': 'editor:unfold-all' # Pulsar Specific
|
||||
'ctrl-k ctrl-0': 'editor:unfold-all'
|
||||
'ctrl-k ctrl-1': 'editor:fold-at-indent-level-1'
|
||||
'ctrl-k ctrl-2': 'editor:fold-at-indent-level-2'
|
||||
|
@ -1,8 +1,8 @@
|
||||
'menu': [
|
||||
{
|
||||
label: 'Atom'
|
||||
label: 'Pulsar'
|
||||
submenu: [
|
||||
{ label: 'About Atom', command: 'application:about' }
|
||||
{ label: 'About Pulsar', command: 'application:about' }
|
||||
{ label: 'View License', command: 'application:open-license' }
|
||||
{ label: 'VERSION', enabled: false }
|
||||
{ label: 'Restart and Install Update', command: 'application:install-update', visible: false}
|
||||
@ -22,11 +22,11 @@
|
||||
{ type: 'separator' }
|
||||
{ label: 'Services', role: 'services', submenu: [] }
|
||||
{ type: 'separator' }
|
||||
{ label: 'Hide Atom', command: 'application:hide' }
|
||||
{ label: 'Hide Pulsar', command: 'application:hide' }
|
||||
{ label: 'Hide Others', command: 'application:hide-other-applications' }
|
||||
{ label: 'Show All', command: 'application:unhide-all-applications' }
|
||||
{ type: 'separator' }
|
||||
{ label: 'Quit Atom', command: 'application:quit' }
|
||||
{ label: 'Quit Pulsar', command: 'application:quit' }
|
||||
]
|
||||
}
|
||||
{
|
||||
|
@ -199,7 +199,7 @@
|
||||
{ label: 'Report Issue', command: 'application:report-issue' }
|
||||
{ label: 'Search Issues', command: 'application:search-issues' }
|
||||
{ type: 'separator' }
|
||||
{ label: 'About Atom', command: 'application:about' }
|
||||
{ label: 'About Pulsar', command: 'application:about' }
|
||||
{ type: 'separator' }
|
||||
]
|
||||
}
|
||||
|
@ -202,7 +202,7 @@
|
||||
{ label: 'Report Issue', command: 'application:report-issue' }
|
||||
{ label: 'Search Issues', command: 'application:search-issues' }
|
||||
{ type: 'separator' }
|
||||
{ label: 'About Atom', command: 'application:about' }
|
||||
{ label: 'About Pulsar', command: 'application:about' }
|
||||
{ type: 'separator' }
|
||||
]
|
||||
}
|
||||
|
@ -1,6 +1,7 @@
|
||||
{
|
||||
"name": "atom",
|
||||
"productName": "Atom",
|
||||
"name": "pulsar",
|
||||
"author": "Pulsar-Edit",
|
||||
"productName": "Pulsar",
|
||||
"author": "Pulsar Community <noreply@pulsar-edit.com>",
|
||||
"version": "1.63.0-dev",
|
||||
"description": "A hackable text editor for the 21st Century.",
|
||||
@ -13,10 +14,10 @@
|
||||
"main": "./src/main-process/main.js",
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/atom/atom.git"
|
||||
"url": "https://github.com/pulsar-edit/pulsar.git"
|
||||
},
|
||||
"bugs": {
|
||||
"url": "https://github.com/atom/atom/issues"
|
||||
"url": "https://github.com/pulsar-edit/pulsar/issues"
|
||||
},
|
||||
"license": "MIT",
|
||||
"electronVersion": "12.2.3",
|
||||
|
@ -12,7 +12,7 @@ module.exports = class AboutStatusBar extends EtchComponent {
|
||||
this.subscriptions.add(
|
||||
atom.tooltips.add(this.element, {
|
||||
title:
|
||||
'An update will be installed the next time Atom is relaunched.<br/><br/>Click the squirrel icon for more information.'
|
||||
'An update will be installed the next time Pulsar is relaunched.<br/><br/>Click the squirrel icon for more information.'
|
||||
})
|
||||
);
|
||||
}
|
||||
|
@ -200,8 +200,8 @@ module.exports = class AboutView extends EtchComponent {
|
||||
{ className: 'about-credits group-item' },
|
||||
$.span({ className: 'inline' }, 'And the awesome '),
|
||||
$.a(
|
||||
{ href: 'https://github.com/atom/atom/contributors' },
|
||||
'Atom Community'
|
||||
{ href: 'https://github.com/pulsar-edit/pulsar/contributors' },
|
||||
'Pulsar community'
|
||||
)
|
||||
)
|
||||
);
|
||||
|
@ -50,7 +50,7 @@ module.exports = class UpdateView extends EtchComponent {
|
||||
'about-updates-item is-shown about-default-update-message'
|
||||
},
|
||||
this.props.updateManager.getAutoUpdatesEnabled()
|
||||
? 'Atom will check for updates automatically'
|
||||
? 'Pulsar will check for updates automatically'
|
||||
: 'Automatic updates are disabled please check manually'
|
||||
);
|
||||
break;
|
||||
@ -96,7 +96,7 @@ module.exports = class UpdateView extends EtchComponent {
|
||||
$.span({ className: 'icon icon-check' }),
|
||||
$.span(
|
||||
{ className: 'about-updates-label is-strong' },
|
||||
'Atom is up to date!'
|
||||
'Pulsar is up to date!'
|
||||
)
|
||||
);
|
||||
break;
|
||||
|
@ -133,8 +133,8 @@ let UpdateManager = class UpdateManager {
|
||||
}
|
||||
|
||||
const releaseRepo =
|
||||
appVersion.indexOf('nightly') > -1 ? 'atom-nightly-releases' : 'atom';
|
||||
return `https://github.com/atom-ide-community/${releaseRepo}/releases/tag/${appVersion}`;
|
||||
appVersion.indexOf('nightly') > -1 ? 'pulsar-nightly-releases' : 'pulsar';
|
||||
return `https://github.com/pulsar-edit/${releaseRepo}/releases/tag/${appVersion}`;
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -2,7 +2,7 @@
|
||||
"name": "base16-tomorrow-dark-theme",
|
||||
"theme": "syntax",
|
||||
"version": "1.6.0",
|
||||
"description": "Base16 dark theme for Pulsar",
|
||||
"description": "Base16 dark theme developed for Atom, repurposed for Pulsar",
|
||||
"keywords": [
|
||||
"base16",
|
||||
"dark",
|
||||
|
@ -2,7 +2,7 @@
|
||||
"name": "base16-tomorrow-light-theme",
|
||||
"theme": "syntax",
|
||||
"version": "1.6.0",
|
||||
"description": "Base16 light theme for Pulsar",
|
||||
"description": "Base16 light theme developed for Atom, repurposed for Pulsar",
|
||||
"keywords": [
|
||||
"base16",
|
||||
"light",
|
||||
|
@ -2,7 +2,7 @@
|
||||
"name": "dalek",
|
||||
"main": "./lib/main",
|
||||
"version": "0.2.2",
|
||||
"description": "EXTERMINATEs built-in packages installed in ~/.atom/packages",
|
||||
"description": "EXTERMINATEs built-in packages installed in ~/.pulsar/packages",
|
||||
"keywords": [],
|
||||
"repository": "https://github.com/pulsar-edit/pulsar",
|
||||
"license": "MIT",
|
||||
|
@ -20,14 +20,14 @@ describe('dalek', function() {
|
||||
'an-unduplicated-installed-package': path.join(
|
||||
'Users',
|
||||
'username',
|
||||
'.atom',
|
||||
'.pulsar',
|
||||
'packages',
|
||||
'an-unduplicated-installed-package'
|
||||
),
|
||||
'duplicated-package': path.join(
|
||||
'Users',
|
||||
'username',
|
||||
'.atom',
|
||||
'.pulsar',
|
||||
'packages',
|
||||
'duplicated-package'
|
||||
),
|
||||
@ -40,7 +40,7 @@ describe('dalek', function() {
|
||||
|
||||
atom.devMode = false;
|
||||
bundledPackages = ['duplicated-package', 'unduplicated-package'];
|
||||
packageDirPaths = [path.join('Users', 'username', '.atom', 'packages')];
|
||||
packageDirPaths = [path.join('Users', 'username', '.pulsar', 'packages')];
|
||||
sandbox = sinon.createSandbox();
|
||||
sandbox
|
||||
.stub(dalek, 'realpath')
|
||||
@ -88,7 +88,7 @@ describe('dalek', function() {
|
||||
const packagePath = path.join(
|
||||
'Users',
|
||||
'username',
|
||||
'.atom',
|
||||
'.pulsar',
|
||||
'packages',
|
||||
'duplicated-package'
|
||||
);
|
||||
|
@ -114,6 +114,7 @@ export default class DeprecationCopView {
|
||||
if (packageNames.length === 0) {
|
||||
return <li className="list-item">No deprecated calls</li>;
|
||||
} else {
|
||||
//TODO_PULSAR: Validate 'atom core'
|
||||
return packageNames.sort().map(packageName => (
|
||||
<li className="deprecation list-nested-item collapsed">
|
||||
<div
|
||||
@ -481,8 +482,8 @@ export default class DeprecationCopView {
|
||||
const packagePaths = this.getPackagePathsByPackageName();
|
||||
for (const [packageName, packagePath] of packagePaths) {
|
||||
if (
|
||||
packagePath.includes('.atom/dev/packages') ||
|
||||
packagePath.includes('.atom/packages')
|
||||
packagePath.includes('.pulsar/dev/packages') ||
|
||||
packagePath.includes('.pulsar/packages')
|
||||
) {
|
||||
packagePaths.set(packageName, fs.absolute(packagePath));
|
||||
}
|
||||
|
@ -2,7 +2,7 @@
|
||||
"name": "dev-live-reload",
|
||||
"main": "./lib/main",
|
||||
"version": "0.48.1",
|
||||
"description": "Live reload atom themes and packages.",
|
||||
"description": "Live reload Pulsar themes and packages.",
|
||||
"repository": "https://github.com/pulsar-edit/pulsar",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
|
@ -29,7 +29,7 @@ export default class Reporter {
|
||||
return {
|
||||
apiKey: API_KEY,
|
||||
notifier: {
|
||||
name: 'Atom',
|
||||
name: 'Pulsar',
|
||||
version: LIB_VERSION,
|
||||
url: 'https://www.atom.io'
|
||||
},
|
||||
@ -245,7 +245,7 @@ export default class Reporter {
|
||||
) {
|
||||
this.requestPrivateMetadataConsent(
|
||||
error,
|
||||
'The Atom team would like to collect the following information to resolve this error:',
|
||||
'The Pulsar team would like to collect the following information to resolve this error:',
|
||||
error => this.reportUncaughtException(error)
|
||||
);
|
||||
return;
|
||||
@ -269,7 +269,7 @@ export default class Reporter {
|
||||
) {
|
||||
this.requestPrivateMetadataConsent(
|
||||
error,
|
||||
'The Atom team would like to collect some information to resolve an unexpected condition:',
|
||||
'The Pulsar team would like to collect some information to resolve an unexpected condition:',
|
||||
error => this.reportFailedAssertion(error)
|
||||
);
|
||||
return;
|
||||
|
@ -2,7 +2,7 @@
|
||||
"name": "exception-reporting",
|
||||
"main": "./lib/main",
|
||||
"version": "0.43.1",
|
||||
"description": "Reports uncaught Atom exceptions to the Atom team via bugsnag.com",
|
||||
"description": "Reports uncaught Pulsar exceptions to the Pulsar team via bugsnag.com",
|
||||
"repository": "https://github.com/pulsar-edit/pulsar",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
|
@ -44,7 +44,7 @@ describe('Reporter', () => {
|
||||
});
|
||||
|
||||
describe('.reportUncaughtException(error)', () => {
|
||||
it('posts errors originated inside Atom Core to BugSnag', () => {
|
||||
it('posts errors originated inside Pulsar Core to BugSnag', () => {
|
||||
const repositoryRootPath = path.join(__dirname, '..');
|
||||
reporter = new Reporter({
|
||||
request: (url, options) =>
|
||||
@ -68,7 +68,7 @@ describe('Reporter', () => {
|
||||
expect(request.url).toBe('https://notify.bugsnag.com');
|
||||
expect(request.headers.get('Content-Type')).toBe('application/json');
|
||||
let body = JSON.parse(request.body);
|
||||
// Delete `inProject` field because tests may fail when run as part of Atom core
|
||||
// Delete `inProject` field because tests may fail when run as part of Pulsar Core
|
||||
// (i.e. when this test file will be located under `node_modules/exception-reporting/spec`)
|
||||
delete body.events[0].exceptions[0].stacktrace[0].inProject;
|
||||
|
||||
@ -112,7 +112,7 @@ describe('Reporter', () => {
|
||||
});
|
||||
});
|
||||
|
||||
it('posts errors originated outside Atom Core to BugSnag', () => {
|
||||
it('posts errors originated outside Pulsar Core to BugSnag', () => {
|
||||
fs.getHomeDirectory = () => path.join(__dirname, '..', '..');
|
||||
|
||||
let error = new Error();
|
||||
@ -129,7 +129,7 @@ describe('Reporter', () => {
|
||||
expect(request.url).toBe('https://notify.bugsnag.com');
|
||||
expect(request.headers.get('Content-Type')).toBe('application/json');
|
||||
let body = JSON.parse(request.body);
|
||||
// Delete `inProject` field because tests may fail when run as part of Atom core
|
||||
// Delete `inProject` field because tests may fail when run as part of Pulsar Core
|
||||
// (i.e. when this test file will be located under `node_modules/exception-reporting/spec`)
|
||||
delete body.events[0].exceptions[0].stacktrace[0].inProject;
|
||||
|
||||
@ -335,7 +335,7 @@ describe('Reporter', () => {
|
||||
expect(request.url).toBe('https://notify.bugsnag.com');
|
||||
expect(request.headers.get('Content-Type')).toBe('application/json');
|
||||
let body = JSON.parse(request.body);
|
||||
// Delete `inProject` field because tests may fail when run as part of Atom core
|
||||
// Delete `inProject` field because tests may fail when run as part of Pulsar Core
|
||||
// (i.e. when this test file will be located under `node_modules/exception-reporting/spec`)
|
||||
delete body.events[0].exceptions[0].stacktrace[0].inProject;
|
||||
|
||||
|
@ -66,9 +66,9 @@ export default class IncompatiblePackagesComponent {
|
||||
return (
|
||||
<div className={'alert icon ' + alertClass}>
|
||||
{this.rebuiltPackageCount} of {this.incompatiblePackages.length}{' '}
|
||||
packages were rebuilt successfully. Reload Atom to activate them.
|
||||
packages were rebuilt successfully. Reload Pulsar to activate them.
|
||||
<button ref="reloadButton" className="btn pull-right">
|
||||
Reload Atom
|
||||
Reload Pulsar
|
||||
</button>
|
||||
</div>
|
||||
);
|
||||
@ -76,7 +76,7 @@ export default class IncompatiblePackagesComponent {
|
||||
return (
|
||||
<div className="alert alert-danger icon icon-bug">
|
||||
Some installed packages could not be loaded because they contain
|
||||
native modules that were compiled for an earlier version of Atom.
|
||||
native modules that were compiled for an earlier version of Pulsar.
|
||||
<button
|
||||
ref="rebuildButton"
|
||||
className="btn pull-right"
|
||||
|
@ -1 +1 @@
|
||||
See the [Atom contributing guide](https://github.com/atom/atom/blob/master/CONTRIBUTING.md)
|
||||
See the [Pulsar contributing guide](https://github.com/pulsar-edit/.github/blob/main/CONTRIBUTING.md)
|
||||
|
@ -1,7 +1,7 @@
|
||||
# C/C++ language support in Atom
|
||||
# C/C++ language support in Pulsar
|
||||
![CI Status](https://github.com/atom/language-c/actions/workflows/main.yml/badge.svg)
|
||||
|
||||
Adds syntax highlighting and snippets to C/C++ files in Atom.
|
||||
Adds syntax highlighting and snippets to C/C++ files in Pulsar.
|
||||
|
||||
Originally [converted](http://flight-manual.atom.io/hacking-atom/sections/converting-from-textmate)
|
||||
from the [C TextMate bundle](https://github.com/textmate/c.tmbundle).
|
||||
|
@ -1,7 +1,7 @@
|
||||
# Clojure language support in Atom
|
||||
# Clojure language support in Pulsar
|
||||
[![macOS Build Status](https://travis-ci.org/atom/language-clojure.svg?branch=master)](https://travis-ci.org/atom/language-clojure) [![Build status](https://ci.appveyor.com/api/projects/status/6kd5fs48y5hixde6/branch/master?svg=true)](https://ci.appveyor.com/project/Atom/language-clojure/branch/master) [![Dependency Status](https://david-dm.org/atom/language-clojure.svg)](https://david-dm.org/atom/language-clojure)
|
||||
|
||||
Adds syntax highlighting to Clojure files in Atom.
|
||||
Adds syntax highlighting to Clojure files in Pulsar.
|
||||
|
||||
Originally [converted](http://flight-manual.atom.io/hacking-atom/sections/converting-from-textmate)
|
||||
from the [Clojure TextMate bundle](https://github.com/mmcgrana/textmate-clojure).
|
||||
|
@ -1,8 +1,8 @@
|
||||
# CoffeeScript language support in Atom
|
||||
# CoffeeScript language support in Pulsar
|
||||
[![macOS Build Status](https://travis-ci.org/atom/language-coffee-script.svg?branch=master)](https://travis-ci.org/atom/language-coffee-script)
|
||||
[![Windows Build status](https://ci.appveyor.com/api/projects/status/4j9aak7iwn2f2x7a/branch/master?svg=true)](https://ci.appveyor.com/project/Atom/language-coffee-script/branch/master) [![Dependency Status](https://david-dm.org/atom/language-coffee-script.svg)](https://david-dm.org/atom/language-coffee-script)
|
||||
|
||||
Adds syntax highlighting and snippets to CoffeeScript files in Atom.
|
||||
Adds syntax highlighting and snippets to CoffeeScript files in Pulsar.
|
||||
|
||||
Originally [converted](http://flight-manual.atom.io/hacking-atom/sections/converting-from-textmate) from the [CoffeeScript TextMate bundle](https://github.com/jashkenas/coffee-script-tmbundle).
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
# C# language support in Atom
|
||||
# C# language support in Pulsar
|
||||
[![macOS Build Status](https://travis-ci.org/atom/language-csharp.svg?branch=master)](https://travis-ci.org/atom/language-csharp)
|
||||
[![Windows Build Status](https://ci.appveyor.com/api/projects/status/j1as3753y5t90obn/branch/master?svg=true)](https://ci.appveyor.com/project/Atom/language-csharp/branch/master) [![Dependency Status](https://david-dm.org/atom/language-csharp.svg)](https://david-dm.org/atom/language-csharp)
|
||||
|
||||
Adds syntax highlighting and snippets to C# files in Atom.
|
||||
Adds syntax highlighting and snippets to C# files in Pulsar.
|
||||
|
||||
The C# grammar comes from the [.NET Foundation's C# grammar](https://github.com/dotnet/csharp-tmLanguage)
|
||||
|
||||
|
@ -1 +1 @@
|
||||
See the [Atom contributing guide](https://github.com/atom/atom/blob/master/CONTRIBUTING.md)
|
||||
See the [Pulsar contributing guide](https://github.com/pulsar-edit/.github/blob/main/CONTRIBUTING.md)
|
||||
|
@ -1,7 +1,7 @@
|
||||
# CSS language support in Atom
|
||||
# CSS language support in Pulsar
|
||||
![CI Status](https://github.com/atom/language-css/actions/workflows/main.yml/badge.svg)
|
||||
|
||||
Adds syntax highlighting, completions, and snippets to CSS files in Atom.
|
||||
Adds syntax highlighting, completions, and snippets to CSS files in Pulsar.
|
||||
|
||||
Originally [converted](http://flight-manual.atom.io/hacking-atom/sections/converting-from-textmate)
|
||||
from the [CSS TextMate bundle](https://github.com/textmate/css.tmbundle).
|
||||
|
@ -1 +1 @@
|
||||
See the [Atom contributing guide](https://github.com/atom/atom/blob/master/CONTRIBUTING.md)
|
||||
See the [Pulsar contributing guide](https://github.com/pulsar-edit/.github/blob/main/CONTRIBUTING.md)
|
||||
|
@ -1,6 +1,6 @@
|
||||
# GitHub flavored Markdown package
|
||||
[![OS X Build Status](https://travis-ci.org/atom/language-gfm.svg?branch=master)](https://travis-ci.org/atom/language-gfm) [![Windows Build Status](https://ci.appveyor.com/api/projects/status/rpub8qjyd8lt7wai/branch/master?svg=true)](https://ci.appveyor.com/project/Atom/language-gfm/branch/master) [![Dependency Status](https://david-dm.org/atom/language-gfm.svg)](https://david-dm.org/atom/language-gfm)
|
||||
|
||||
Adds syntax highlighting and snippets to [GitHub flavored Markdown](https://help.github.com/articles/github-flavored-markdown) files in Atom.
|
||||
Adds syntax highlighting and snippets to [GitHub flavored Markdown](https://help.github.com/articles/github-flavored-markdown) files in Pulsar.
|
||||
|
||||
Contributions are greatly appreciated. Please fork this repository and open a pull request to add snippets, make grammar tweaks, etc.
|
||||
|
@ -1 +1 @@
|
||||
See the [Atom contributing guide](https://github.com/atom/atom/blob/master/CONTRIBUTING.md)
|
||||
See the [Pulsar contributing guide](https://github.com/pulsar-edit/.github/blob/main/CONTRIBUTING.md)
|
||||
|
@ -1,11 +1,11 @@
|
||||
# Git editing support in Atom
|
||||
# Git editing support in Pulsar
|
||||
[![macOS Build Status](https://travis-ci.org/atom/language-git.svg?branch=master)](https://travis-ci.org/atom/language-git)
|
||||
[![Windows Build Status](https://ci.appveyor.com/api/projects/status/481319gyrr1feo8b/branch/master?svg=true)](https://ci.appveyor.com/project/Atom/language-git/branch/master)
|
||||
[![Dependency Status](https://david-dm.org/atom/language-git.svg)](https://david-dm.org/atom/language-git)
|
||||
|
||||
Adds syntax highlighting to Git commit, merge, and rebase messages edited in Atom.
|
||||
Adds syntax highlighting to Git commit, merge, and rebase messages edited in Pulsar.
|
||||
|
||||
You can configure Atom to be your Git editor with the following command:
|
||||
You can configure Pulsar to be your Git editor with the following command:
|
||||
|
||||
```sh
|
||||
git config --global core.editor "atom --wait"
|
||||
|
@ -2,7 +2,7 @@
|
||||
"name": "one-light-syntax",
|
||||
"theme": "syntax",
|
||||
"version": "1.8.4",
|
||||
"description": "Pulsar One light syntax theme",
|
||||
"description": "One light syntax theme developed for Atom, repurposed for Pulsar",
|
||||
"keywords": [
|
||||
"light",
|
||||
"syntax"
|
||||
|
@ -2,7 +2,7 @@
|
||||
"name": "one-light-ui",
|
||||
"theme": "ui",
|
||||
"version": "1.12.5",
|
||||
"description": "Pulsar One light UI theme",
|
||||
"description": "One light UI theme developed for Atom, repurposed for Pulsar",
|
||||
"keywords": [
|
||||
"light",
|
||||
"adaptive",
|
||||
|
@ -380,7 +380,7 @@ export default class GuideView {
|
||||
|
||||
getApplicationMenuName() {
|
||||
if (process.platform === 'darwin') {
|
||||
return 'Atom';
|
||||
return 'Pulsar';
|
||||
} else if (process.platform === 'linux') {
|
||||
return 'Edit';
|
||||
} else {
|
||||
@ -450,17 +450,17 @@ export default class GuideView {
|
||||
|
||||
didClickStylingButton() {
|
||||
this.props.reporterProxy.sendEvent('clicked-styling-cta');
|
||||
atom.workspace.open('atom://.atom/stylesheet', { split: 'left' });
|
||||
atom.workspace.open('atom://.pulsar/stylesheet', { split: 'left' });
|
||||
}
|
||||
|
||||
didClickInitScriptButton() {
|
||||
this.props.reporterProxy.sendEvent('clicked-init-script-cta');
|
||||
atom.workspace.open('atom://.atom/init-script', { split: 'left' });
|
||||
atom.workspace.open('atom://.pulsar/init-script', { split: 'left' });
|
||||
}
|
||||
|
||||
didClickSnippetsButton() {
|
||||
this.props.reporterProxy.sendEvent('clicked-snippets-cta');
|
||||
atom.workspace.open('atom://.atom/snippets', { split: 'left' });
|
||||
atom.workspace.open('atom://.pulsar/snippets', { split: 'left' });
|
||||
}
|
||||
|
||||
didClickTeletypeButton() {
|
||||
|
@ -99,7 +99,7 @@ export default class WelcomeView {
|
||||
<ul>
|
||||
<li>
|
||||
The{' '}
|
||||
// TODO: Update to our docs or test {atom.branding.urlWeb}+"/docs"
|
||||
{/* // TODO_PULSAR: Update to our docs or test {atom.branding.urlWeb}+"/docs" */}
|
||||
<a
|
||||
href="https://www.atom.io/docs"
|
||||
dataset={{ event: 'atom-docs' }}
|
||||
|
@ -10,13 +10,13 @@ else
|
||||
fi
|
||||
|
||||
case $(basename $0) in
|
||||
atom-beta)
|
||||
pulsar-beta)
|
||||
CHANNEL=beta
|
||||
;;
|
||||
atom-nightly)
|
||||
pulsar-nightly)
|
||||
CHANNEL=nightly
|
||||
;;
|
||||
atom-dev)
|
||||
pulsar-dev)
|
||||
CHANNEL=dev
|
||||
;;
|
||||
*)
|
||||
@ -87,7 +87,7 @@ if [ $REDIRECT_STDERR ]; then
|
||||
exec 2> /dev/null
|
||||
fi
|
||||
|
||||
ATOM_HOME="${ATOM_HOME:-$HOME/.atom}"
|
||||
ATOM_HOME="${ATOM_HOME:-$HOME/.pulsar}"
|
||||
mkdir -p "$ATOM_HOME"
|
||||
|
||||
if [ $OS == 'Mac' ]; then
|
||||
@ -110,13 +110,13 @@ if [ $OS == 'Mac' ]; then
|
||||
else
|
||||
# Else choose it from the inferred channel name
|
||||
if [ "$CHANNEL" == 'beta' ]; then
|
||||
ATOM_EXECUTABLE_NAME="Atom Beta"
|
||||
ATOM_EXECUTABLE_NAME="Pulsar Beta"
|
||||
elif [ "$CHANNEL" == 'nightly' ]; then
|
||||
ATOM_EXECUTABLE_NAME="Atom Nightly"
|
||||
ATOM_EXECUTABLE_NAME="Pulsar Nightly"
|
||||
elif [ "$CHANNEL" == 'dev' ]; then
|
||||
ATOM_EXECUTABLE_NAME="Atom Dev"
|
||||
ATOM_EXECUTABLE_NAME="Pulsar Dev"
|
||||
else
|
||||
ATOM_EXECUTABLE_NAME="Atom"
|
||||
ATOM_EXECUTABLE_NAME="Pulsar"
|
||||
fi
|
||||
fi
|
||||
|
||||
@ -127,10 +127,10 @@ if [ $OS == 'Mac' ]; then
|
||||
elif [ -x "$HOME/Applications/$ATOM_APP_NAME" ]; then
|
||||
ATOM_PATH="$HOME/Applications"
|
||||
else
|
||||
# We haven't found an Atom.app, use spotlight to search for Atom
|
||||
ATOM_PATH="$(mdfind "kMDItemCFBundleIdentifier == 'com.github.atom'" | grep -v ShipIt | head -1 | xargs -0 dirname)"
|
||||
# We haven't found an Pulsar.app, use spotlight to search for Pulsar
|
||||
ATOM_PATH="$(mdfind "kMDItemCFBundleIdentifier == 'com.github.pulsar'" | grep -v ShipIt | head -1 | xargs -0 dirname)"
|
||||
|
||||
# Exit if Atom can't be found
|
||||
# Exit if Pulsar can't be found
|
||||
if [ ! -x "$ATOM_PATH/$ATOM_APP_NAME" ]; then
|
||||
echo "Cannot locate ${ATOM_APP_NAME}, it is usually located in /Applications. Set the ATOM_PATH environment variable to the directory containing ${ATOM_APP_NAME}."
|
||||
exit 1
|
||||
@ -155,27 +155,27 @@ elif [ $OS == 'Linux' ]; then
|
||||
|
||||
case $CHANNEL in
|
||||
beta)
|
||||
ATOM_PATH="$USR_DIRECTORY/share/atom-beta/atom"
|
||||
ATOM_PATH="$USR_DIRECTORY/share/pulsar-beta/pulsar"
|
||||
;;
|
||||
nightly)
|
||||
ATOM_PATH="$USR_DIRECTORY/share/atom-nightly/atom"
|
||||
ATOM_PATH="$USR_DIRECTORY/share/pulsar-nightly/pulsar"
|
||||
;;
|
||||
dev)
|
||||
ATOM_PATH="$USR_DIRECTORY/share/atom-dev/atom"
|
||||
ATOM_PATH="$USR_DIRECTORY/share/pulsar-dev/pulsar"
|
||||
;;
|
||||
*)
|
||||
ATOM_PATH="$USR_DIRECTORY/share/atom/atom"
|
||||
ATOM_PATH="$USR_DIRECTORY/share/pulsar/pulsar"
|
||||
;;
|
||||
esac
|
||||
|
||||
#Will allow user to get context menu on cinnamon desktop enviroment
|
||||
if [[ "$(expr substr $(printenv | grep "DESKTOP_SESSION=") 17 8)" == "cinnamon" ]]; then
|
||||
cp "resources/linux/desktopenviroment/cinnamon/atom.nemo_action" "/usr/share/nemo/actions/atom.nemo_action"
|
||||
cp "resources/linux/desktopenviroment/cinnamon/pulsar.nemo_action" "/usr/share/nemo/actions/pulsar.nemo_action"
|
||||
fi
|
||||
|
||||
: ${TMPDIR:=/tmp}
|
||||
|
||||
[ -x "$ATOM_PATH" ] || ATOM_PATH="$TMPDIR/atom-build/Atom/atom"
|
||||
[ -x "$ATOM_PATH" ] || ATOM_PATH="$TMPDIR/pulsar-build/Pulsar/pulsar"
|
||||
|
||||
if [ $EXPECT_OUTPUT ]; then
|
||||
"$ATOM_PATH" --executed-from="$(pwd)" --pid=$$ "$@"
|
||||
@ -196,13 +196,13 @@ elif [ $OS == 'Linux' ]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
# Exits this process when Atom is used as $EDITOR
|
||||
# Exits this process when Pulsar is used as $EDITOR
|
||||
on_die() {
|
||||
exit 0
|
||||
}
|
||||
trap 'on_die' SIGQUIT SIGTERM
|
||||
|
||||
# If the wait flag is set, don't exit this process until Atom kills it.
|
||||
# If the wait flag is set, don't exit this process until Pulsar kills it.
|
||||
if [ $WAIT ]; then
|
||||
WAIT_FIFO="$ATOM_HOME/.wait_fifo"
|
||||
|
Before Width: | Height: | Size: 148 KiB After Width: | Height: | Size: 148 KiB |
Before Width: | Height: | Size: 146 KiB After Width: | Height: | Size: 146 KiB |
Before Width: | Height: | Size: 151 KiB After Width: | Height: | Size: 151 KiB |
Before Width: | Height: | Size: 150 KiB After Width: | Height: | Size: 150 KiB |
@ -9,4 +9,4 @@ Architecture: <%= arch %>
|
||||
Installed-Size: <%= installedSize %>
|
||||
Maintainer: GitHub <atom@github.com>
|
||||
Description: <%= description %>
|
||||
Atom is a free and open source text editor that is modern, approachable, and hackable to the core.
|
||||
Pulsar is a free and open source text editor that is modern, approachable, and hackable to the core.
|
||||
|
@ -1,9 +1,9 @@
|
||||
[Nemo Action]
|
||||
Active=true
|
||||
Name=Open in Atom
|
||||
Comment=Open in Atom
|
||||
Name=Open in Pulsar
|
||||
Comment=Open in Pulsar
|
||||
#%U is the current selected file, this will also work on current directory
|
||||
Exec=atom -n %U
|
||||
Icon-Name=atom
|
||||
Exec=pulsar -n %U
|
||||
Icon-Name=pulsar
|
||||
Selection=any
|
||||
Extensions=any
|
@ -3,7 +3,7 @@
|
||||
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
|
||||
"http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd">
|
||||
<policyconfig>
|
||||
<vendor>Atom</vendor>
|
||||
<vendor>Pulsar</vendor>
|
||||
<action id="atom.pkexec.dd">
|
||||
<description gettext-domain="atom">Admin privileges required</description>
|
||||
<message gettext-domain="atom">Please enter your password to save this file</message>
|
@ -26,7 +26,7 @@ mkdir -p "%{buildroot}/<%= installDir %>/share/<%= appFileName %>/"
|
||||
cp -r "<%= appName %>"/* "%{buildroot}/<%= installDir %>/share/<%= appFileName %>/"
|
||||
mkdir -p "%{buildroot}/<%= installDir %>/bin/"
|
||||
ln -sf "../share/<%= appFileName %>/resources/app/apm/node_modules/.bin/apm" "%{buildroot}/<%= installDir %>/bin/<%= apmFileName %>"
|
||||
cp atom.sh "%{buildroot}/<%= installDir %>/bin/<%= appFileName %>"
|
||||
cp pulsar.sh "%{buildroot}/<%= installDir %>/bin/<%= appFileName %>"
|
||||
chmod 755 "%{buildroot}/<%= installDir %>/bin/<%= appFileName %>"
|
||||
mkdir -p "%{buildroot}/<%= installDir %>/share/applications/"
|
||||
cp "<%= appFileName %>.desktop" "%{buildroot}/<%= installDir %>/share/applications/"
|
@ -5,15 +5,15 @@
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
<string>en</string>
|
||||
<key>CFBundleDisplayName</key>
|
||||
<string>Atom Helper</string>
|
||||
<string>Pulsar Helper</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>Atom Helper</string>
|
||||
<string>Pulsar Helper</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.github.atom.helper</string>
|
||||
<string>com.github.pulsar.helper</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>Atom Helper</string>
|
||||
<string>Pulsar Helper</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleShortVersionString</key>
|
||||
|
@ -3,15 +3,15 @@
|
||||
<plist version="1.0">
|
||||
<dict>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>Atom</string>
|
||||
<string>Pulsar</string>
|
||||
<key>CFBundleIconFile</key>
|
||||
<string>atom.icns</string>
|
||||
<string>pulsar.icns</string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>com.github.atom</string>
|
||||
<string>com.github.pulsar</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
<string>6.0</string>
|
||||
<key>CFBundleName</key>
|
||||
<string>Atom</string>
|
||||
<string>Pulsar</string>
|
||||
<key>CFBundlePackageType</key>
|
||||
<string>APPL</string>
|
||||
<key>CFBundleDevelopmentRegion</key>
|
||||
@ -43,10 +43,10 @@
|
||||
<dict>
|
||||
<key>CFBundleURLSchemes</key>
|
||||
<array>
|
||||
<string>atom</string>
|
||||
<string>pulsar</string>
|
||||
</array>
|
||||
<key>CFBundleURLName</key>
|
||||
<string>Atom Shared Session Protocol</string>
|
||||
<string>Pulsar Shared Session Protocol</string>
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleDocumentTypes</key>
|
BIN
resources/pulsar.png
Normal file
After Width: | Height: | Size: 416 KiB |
@ -47,5 +47,5 @@ IF "%EXPECT_OUTPUT%"=="YES" (
|
||||
"%~dp0\..\..\<%= atomExeName %>" %*
|
||||
)
|
||||
) ELSE (
|
||||
"%~dp0\..\app\apm\bin\node.exe" "%~dp0\atom.js" "<%= atomExeName %>" %*
|
||||
"%~dp0\..\app\apm\bin\node.exe" "%~dp0\pulsar.js" "<%= atomExeName %>" %*
|
||||
)
|
@ -2,8 +2,8 @@
|
||||
# Get current path in Windows format
|
||||
if command -v "cygpath" > /dev/null; then
|
||||
# We have cygpath to do the conversion
|
||||
ATOMCMD=$(cygpath "$(dirname "$0")/atom.cmd" -a -w)
|
||||
ARGS=( $(cygpath -a -w "$@" | tr '\n' ' ') )
|
||||
ATOMCMD=$(cygpath "$(dirname "$0")/pulsar.cmd" -a -w)
|
||||
ARGS=( $(cygpath -a -w "$@" | tr '\n' ' ') )
|
||||
else
|
||||
ARGS=$@
|
||||
pushd "$(dirname "$0")" > /dev/null
|
||||
@ -13,10 +13,10 @@ else
|
||||
# If different root mount point defined in /etc/wsl.conf, use that instead
|
||||
eval $(grep "^root" /etc/wsl.conf | sed -e "s/ //g")
|
||||
root="$(echo $root | sed 's|/|\\/|g')"
|
||||
ATOMCMD="$(echo $PWD | sed 's/\/mnt\/\([a-z]*\)\(.*\)/\1:\2/')/atom.cmd"
|
||||
ATOMCMD="$(echo $PWD | sed 's/\/mnt\/\([a-z]*\)\(.*\)/\1:\2/')/pulsar.cmd"
|
||||
else
|
||||
# We don't have cygpath or WSL so try pwd -W
|
||||
ATOMCMD="$(pwd -W)/atom.cmd"
|
||||
ATOMCMD="$(pwd -W)/pulsar.cmd"
|
||||
fi
|
||||
popd > /dev/null
|
||||
fi
|
@ -29,7 +29,7 @@ const argv = yargs
|
||||
.help('help')
|
||||
.describe(
|
||||
'existing-binaries',
|
||||
'Use existing Atom binaries (skip clean/transpile/cache)'
|
||||
'Use existing Pulsar binaries (skip clean/transpile/cache)'
|
||||
)
|
||||
.describe('code-sign', 'Code-sign executables (macOS and Windows only)')
|
||||
.describe('test-sign', 'Test-sign executables (macOS only)')
|
||||
@ -38,10 +38,10 @@ const argv = yargs
|
||||
.describe('create-rpm-package', 'Create .rpm package (Linux only)')
|
||||
.describe(
|
||||
'compress-artifacts',
|
||||
'Compress Atom binaries (and symbols on macOS)'
|
||||
'Compress Pulsar binaries (and symbols on macOS)'
|
||||
)
|
||||
.describe('generate-api-docs', 'Only build the API documentation')
|
||||
.describe('install', 'Install Atom')
|
||||
.describe('install', 'Install Pulsar')
|
||||
.string('install')
|
||||
.describe(
|
||||
'ci',
|
||||
@ -227,7 +227,7 @@ async function build() {
|
||||
compressArtifacts(packagedAppPath);
|
||||
} else {
|
||||
console.log(
|
||||
'Skipping artifacts compression. Specify the --compress-artifacts option to compress Atom binaries (and symbols on macOS)'
|
||||
'Skipping artifacts compression. Specify the --compress-artifacts option to compress Pulsar binaries (and symbols on macOS)'
|
||||
.gray
|
||||
);
|
||||
}
|
||||
@ -236,7 +236,7 @@ async function build() {
|
||||
installApplication(packagedAppPath, argv.install);
|
||||
} else {
|
||||
console.log(
|
||||
'Skipping installation. Specify the --install option to install Atom'
|
||||
'Skipping installation. Specify the --install option to install Pulsar'
|
||||
.gray
|
||||
);
|
||||
}
|
||||
|
@ -18,7 +18,7 @@ const symbolsPath = path.join(buildOutputPath, 'symbols');
|
||||
const electronDownloadPath = path.join(repositoryRootPath, 'electron');
|
||||
const homeDirPath = process.env.HOME || process.env.USERPROFILE;
|
||||
const atomHomeDirPath =
|
||||
process.env.ATOM_HOME || path.join(homeDirPath, '.atom');
|
||||
process.env.ATOM_HOME || path.join(homeDirPath, '.pulsar');
|
||||
|
||||
const appMetadata = require(path.join(repositoryRootPath, 'package.json'));
|
||||
const apmMetadata = require(path.join(apmRootPath, 'package.json'));
|
||||
@ -36,10 +36,10 @@ if (process.env.npm_config_jobs === undefined) {
|
||||
process.env.npm_config_jobs = 'max';
|
||||
}
|
||||
|
||||
const REPO_OWNER = process.env.REPO_OWNER || 'atom';
|
||||
const MAIN_REPO = process.env.MAIN_REPO || 'atom';
|
||||
const REPO_OWNER = process.env.REPO_OWNER || 'pulsar-edit';
|
||||
const MAIN_REPO = process.env.MAIN_REPO || 'pulsar';
|
||||
const NIGHTLY_RELEASE_REPO =
|
||||
process.env.NIGHTLY_RELEASE_REPO || 'atom-nightly-releases';
|
||||
process.env.NIGHTLY_RELEASE_REPO || 'pulsar-nightly-releases';
|
||||
|
||||
module.exports = {
|
||||
appMetadata,
|
||||
@ -71,13 +71,13 @@ module.exports = {
|
||||
};
|
||||
|
||||
function getChannelName(channel) {
|
||||
return channel === 'stable' ? 'atom' : `atom-${channel}`;
|
||||
return channel === 'stable' ? 'pulsar' : `pulsar-${channel}`;
|
||||
}
|
||||
|
||||
function getChannel(version) {
|
||||
const match = version.match(/\d+\.\d+\.\d+(-([a-z]+)(\d+|-\w{4,})?)?$/);
|
||||
if (!match) {
|
||||
throw new Error(`Found incorrectly formatted Atom version ${version}`);
|
||||
throw new Error(`Found incorrectly formatted Pulsar version ${version}`);
|
||||
} else if (match[2]) {
|
||||
return match[2];
|
||||
}
|
||||
@ -87,8 +87,8 @@ function getChannel(version) {
|
||||
|
||||
function getAppName(channel) {
|
||||
return channel === 'stable'
|
||||
? 'Atom'
|
||||
: `Atom ${process.env.ATOM_CHANNEL_DISPLAY_NAME ||
|
||||
? 'Pulsar'
|
||||
: `Pulsar ${process.env.ATOM_CHANNEL_DISPLAY_NAME ||
|
||||
channel.charAt(0).toUpperCase() + channel.slice(1)}`;
|
||||
}
|
||||
|
||||
@ -96,9 +96,9 @@ function getExecutableName(channel, appName) {
|
||||
if (process.platform === 'darwin') {
|
||||
return appName;
|
||||
} else if (process.platform === 'win32') {
|
||||
return channel === 'stable' ? 'atom.exe' : `atom-${channel}.exe`;
|
||||
return channel === 'stable' ? 'pulsar.exe' : `pulsar-${channel}.exe`;
|
||||
} else {
|
||||
return 'atom';
|
||||
return 'pulsar';
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -41,7 +41,8 @@ const Platform = builder.Platform
|
||||
const generate = require('./lib/generate-metadata.js')
|
||||
|
||||
const pngIcon = 'resources/app-icons/nightly/png/1024.png'
|
||||
const icoIcon = 'resources/app-icons/nightly/atom.ico'
|
||||
const icoIcon = 'resources/app-icons/nightly/pulsar.ico'
|
||||
|
||||
let options = {
|
||||
"appId": "link.mauricioszabo.pulsar",
|
||||
"npmRebuild": false,
|
||||
@ -76,7 +77,7 @@ let options = {
|
||||
"to": "app/apm"
|
||||
}, {
|
||||
"from": pngIcon,
|
||||
"to": "atom.png"
|
||||
"to": "pulsar.png"
|
||||
},
|
||||
],
|
||||
compression: "normal",
|
||||
|
15
script/generate-app-image.js
Normal file
@ -0,0 +1,15 @@
|
||||
const path = require('path');
|
||||
const fs = require('fs');
|
||||
const { createCanvas, loadImage, registerFont } = require('canvas');
|
||||
|
||||
const imageCanvas = createCanvas(1024, 1024);
|
||||
const context = imageCanvas.getContext('2d');
|
||||
|
||||
const channel = 'dev';
|
||||
|
||||
loadImage(path.resolve(__dirname, '..', 'resources', 'app-icons', channel, 'png', '1024.png')).then((background) => {
|
||||
context.drawImage(background, 0, 0, imageCanvas.width, imageCanvas.height)
|
||||
|
||||
const buffer = imageCanvas.toBuffer('image/png')
|
||||
fs.writeFileSync(path.resolve(__dirname, '..', 'resources', 'pulsar.png'), buffer);
|
||||
})
|
@ -15,10 +15,10 @@ module.exports = function() {
|
||||
path.join(CONFIG.atomHomeDirPath, '.npm'),
|
||||
path.join(CONFIG.atomHomeDirPath, 'compile-cache'),
|
||||
path.join(CONFIG.atomHomeDirPath, 'snapshot-cache'),
|
||||
path.join(CONFIG.atomHomeDirPath, 'atom-shell'),
|
||||
path.join(CONFIG.atomHomeDirPath, 'pulsar-shell'),
|
||||
path.join(CONFIG.atomHomeDirPath, 'electron'),
|
||||
path.join(os.tmpdir(), 'atom-build'),
|
||||
path.join(os.tmpdir(), 'atom-cached-atom-shells')
|
||||
path.join(os.tmpdir(), 'pulsar-build'),
|
||||
path.join(os.tmpdir(), 'pulsar-cached-pulsar-shells')
|
||||
];
|
||||
const rmPromises = [];
|
||||
for (let path of cachePaths) {
|
||||
|
@ -14,7 +14,7 @@ module.exports = function(packagedAppPath) {
|
||||
if (process.platform === 'darwin') {
|
||||
const symbolsArchivePath = path.join(
|
||||
CONFIG.buildOutputPath,
|
||||
'atom-mac-symbols.zip'
|
||||
'pulsar-mac-symbols.zip'
|
||||
);
|
||||
compress(CONFIG.symbolsPath, symbolsArchivePath);
|
||||
}
|
||||
@ -23,11 +23,11 @@ module.exports = function(packagedAppPath) {
|
||||
function getArchiveName() {
|
||||
switch (process.platform) {
|
||||
case 'darwin':
|
||||
return 'atom-mac.zip';
|
||||
return 'pulsar-mac.zip';
|
||||
case 'win32':
|
||||
return `atom-${process.arch === 'x64' ? 'x64-' : ''}windows.zip`;
|
||||
return `pulsar-${process.arch === 'x64' ? 'x64-' : ''}windows.zip`;
|
||||
default:
|
||||
return `atom-${getLinuxArchiveArch()}.tar.gz`;
|
||||
return `pulsar-${getLinuxArchiveArch()}.tar.gz`;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -39,7 +39,7 @@ module.exports = function() {
|
||||
// We do this to ensure that symlinked repo-local bundled packages get
|
||||
// copied to the output folder correctly. We dereference only the top-level
|
||||
// symlinks and not nested symlinks to avoid issues where symlinked binaries
|
||||
// are duplicated in Atom's installation packages (see atom/atom#18490).
|
||||
// are duplicated in Pulsar's installation packages (see atom/atom#18490).
|
||||
const nodeModulesPath = path.join(CONFIG.repositoryRootPath, 'node_modules');
|
||||
glob
|
||||
.sync(path.join(nodeModulesPath, '*'))
|
||||
@ -69,7 +69,7 @@ module.exports = function() {
|
||||
'png',
|
||||
'1024.png'
|
||||
),
|
||||
path.join(CONFIG.intermediateAppPath, 'resources', 'atom.png')
|
||||
path.join(CONFIG.intermediateAppPath, 'resources', 'pulsar.png')
|
||||
)
|
||||
);
|
||||
|
||||
|
@ -10,9 +10,9 @@ const CONFIG = require('../config');
|
||||
|
||||
module.exports = function(packagedAppPath) {
|
||||
console.log(`Creating Debian package for "${packagedAppPath}"`);
|
||||
const atomExecutableName =
|
||||
CONFIG.channel === 'stable' ? 'atom' : `atom-${CONFIG.channel}`;
|
||||
const apmExecutableName =
|
||||
const editorExecutableName =
|
||||
CONFIG.channel === 'stable' ? 'pulsar' : `pulsar-${CONFIG.channel}`;
|
||||
const pkgMgrExecutableName =
|
||||
CONFIG.channel === 'stable' ? 'apm' : `apm-${CONFIG.channel}`;
|
||||
const appDescription = CONFIG.appMetadata.description;
|
||||
const appVersion = CONFIG.appMetadata.version;
|
||||
@ -29,7 +29,7 @@ module.exports = function(packagedAppPath) {
|
||||
|
||||
const outputDebianPackageFilePath = path.join(
|
||||
CONFIG.buildOutputPath,
|
||||
`atom-${arch}.deb`
|
||||
`pulsar-${arch}.deb`
|
||||
);
|
||||
const debianPackageDirPath = path.join(
|
||||
os.tmpdir(),
|
||||
@ -44,7 +44,7 @@ module.exports = function(packagedAppPath) {
|
||||
);
|
||||
const debianPackageAtomDirPath = path.join(
|
||||
debianPackageShareDirPath,
|
||||
atomExecutableName
|
||||
editorExecutableName
|
||||
);
|
||||
const debianPackageApplicationsDirPath = path.join(
|
||||
debianPackageShareDirPath,
|
||||
@ -57,7 +57,7 @@ module.exports = function(packagedAppPath) {
|
||||
const debianPackageDocsDirPath = path.join(
|
||||
debianPackageShareDirPath,
|
||||
'doc',
|
||||
atomExecutableName
|
||||
editorExecutableName
|
||||
);
|
||||
|
||||
if (fs.existsSync(debianPackageDirPath)) {
|
||||
@ -97,14 +97,14 @@ module.exports = function(packagedAppPath) {
|
||||
|
||||
console.log(`Copying binaries into "${debianPackageBinDirPath}"`);
|
||||
fs.copySync(
|
||||
path.join(CONFIG.repositoryRootPath, 'atom.sh'),
|
||||
path.join(debianPackageBinDirPath, atomExecutableName)
|
||||
path.join(CONFIG.repositoryRootPath, 'pulsar.sh'),
|
||||
path.join(debianPackageBinDirPath, editorExecutableName)
|
||||
);
|
||||
fs.symlinkSync(
|
||||
path.join(
|
||||
'..',
|
||||
'share',
|
||||
atomExecutableName,
|
||||
editorExecutableName,
|
||||
'resources',
|
||||
'app',
|
||||
'apm',
|
||||
@ -112,7 +112,7 @@ module.exports = function(packagedAppPath) {
|
||||
'.bin',
|
||||
'apm'
|
||||
),
|
||||
path.join(debianPackageBinDirPath, apmExecutableName)
|
||||
path.join(debianPackageBinDirPath, pkgMgrExecutableName)
|
||||
);
|
||||
|
||||
fs.chmodSync(path.join(debianPackageAtomDirPath, 'chrome-sandbox'), '4755');
|
||||
@ -131,7 +131,7 @@ module.exports = function(packagedAppPath) {
|
||||
)
|
||||
);
|
||||
const controlFileContents = template(controlFileTemplate)({
|
||||
appFileName: atomExecutableName,
|
||||
appFileName: editorExecutableName,
|
||||
version: appVersion,
|
||||
arch: arch,
|
||||
installedSize: packageSizeInKilobytes,
|
||||
@ -150,20 +150,20 @@ module.exports = function(packagedAppPath) {
|
||||
CONFIG.repositoryRootPath,
|
||||
'resources',
|
||||
'linux',
|
||||
'atom.desktop.in'
|
||||
'pulsar.desktop.in'
|
||||
)
|
||||
);
|
||||
const desktopEntryContents = template(desktopEntryTemplate)({
|
||||
appName: CONFIG.appName,
|
||||
appFileName: atomExecutableName,
|
||||
appFileName: editorExecutableName,
|
||||
description: appDescription,
|
||||
installDir: '/usr',
|
||||
iconPath: atomExecutableName
|
||||
iconPath: editorExecutableName
|
||||
});
|
||||
fs.writeFileSync(
|
||||
path.join(
|
||||
debianPackageApplicationsDirPath,
|
||||
`${atomExecutableName}.desktop`
|
||||
`${editorExecutableName}.desktop`
|
||||
),
|
||||
desktopEntryContents
|
||||
);
|
||||
@ -175,9 +175,9 @@ module.exports = function(packagedAppPath) {
|
||||
'resources',
|
||||
'app.asar.unpacked',
|
||||
'resources',
|
||||
'atom.png'
|
||||
'pulsar.png'
|
||||
),
|
||||
path.join(debianPackageIconsDirPath, `${atomExecutableName}.png`)
|
||||
path.join(debianPackageIconsDirPath, `${editorExecutableName}.png`)
|
||||
);
|
||||
|
||||
console.log(`Copying license into "${debianPackageDocsDirPath}"`);
|
||||
@ -190,12 +190,12 @@ module.exports = function(packagedAppPath) {
|
||||
`Copying polkit configuration into "${debianPackageShareDirPath}"`
|
||||
);
|
||||
fs.copySync(
|
||||
path.join(CONFIG.repositoryRootPath, 'resources', 'linux', 'atom.policy'),
|
||||
path.join(CONFIG.repositoryRootPath, 'resources', 'linux', 'pulsar.policy'),
|
||||
path.join(
|
||||
debianPackageShareDirPath,
|
||||
'polkit-1',
|
||||
'actions',
|
||||
`atom-${CONFIG.channel}.policy`
|
||||
`pulsar-${CONFIG.channel}.policy`
|
||||
)
|
||||
);
|
||||
|
||||
|
@ -10,16 +10,16 @@ const CONFIG = require('../config');
|
||||
|
||||
module.exports = function(packagedAppPath) {
|
||||
console.log(`Creating rpm package for "${packagedAppPath}"`);
|
||||
const atomExecutableName =
|
||||
CONFIG.channel === 'stable' ? 'atom' : `atom-${CONFIG.channel}`;
|
||||
const apmExecutableName =
|
||||
const editorExecutableName =
|
||||
CONFIG.channel === 'stable' ? 'pulsar' : `pulsar-${CONFIG.channel}`;
|
||||
const pkgMgrExecutableName =
|
||||
CONFIG.channel === 'stable' ? 'apm' : `apm-${CONFIG.channel}`;
|
||||
const appName = CONFIG.appName;
|
||||
const appDescription = CONFIG.appMetadata.description;
|
||||
// RPM versions can't have dashes or tildes in them.
|
||||
// (Ref.: https://twiki.cern.ch/twiki/bin/view/Main/RPMAndDebVersioning)
|
||||
const appVersion = CONFIG.appMetadata.version.replace(/-/g, '.');
|
||||
const policyFileName = `atom-${CONFIG.channel}.policy`;
|
||||
const policyFileName = `pulsar-${CONFIG.channel}.policy`;
|
||||
|
||||
const rpmPackageDirPath = path.join(CONFIG.homeDirPath, 'rpmbuild');
|
||||
const rpmPackageBuildDirPath = path.join(rpmPackageDirPath, 'BUILD');
|
||||
@ -65,20 +65,20 @@ module.exports = function(packagedAppPath) {
|
||||
);
|
||||
|
||||
console.log(`Writing rpm package spec file into "${rpmPackageSpecsDirPath}"`);
|
||||
const rpmPackageSpecFilePath = path.join(rpmPackageSpecsDirPath, 'atom.spec');
|
||||
const rpmPackageSpecFilePath = path.join(rpmPackageSpecsDirPath, 'pulsar.spec');
|
||||
const rpmPackageSpecsTemplate = fs.readFileSync(
|
||||
path.join(
|
||||
CONFIG.repositoryRootPath,
|
||||
'resources',
|
||||
'linux',
|
||||
'redhat',
|
||||
'atom.spec.in'
|
||||
'pulsar.spec.in'
|
||||
)
|
||||
);
|
||||
const rpmPackageSpecsContents = template(rpmPackageSpecsTemplate)({
|
||||
appName: appName,
|
||||
appFileName: atomExecutableName,
|
||||
apmFileName: apmExecutableName,
|
||||
appFileName: editorExecutableName,
|
||||
apmFileName: pkgMgrExecutableName,
|
||||
description: appDescription,
|
||||
installDir: '/usr',
|
||||
version: appVersion,
|
||||
@ -92,30 +92,30 @@ module.exports = function(packagedAppPath) {
|
||||
CONFIG.repositoryRootPath,
|
||||
'resources',
|
||||
'linux',
|
||||
'atom.desktop.in'
|
||||
'pulsar.desktop.in'
|
||||
)
|
||||
);
|
||||
const desktopEntryContents = template(desktopEntryTemplate)({
|
||||
appName: appName,
|
||||
appFileName: atomExecutableName,
|
||||
appFileName: editorExecutableName,
|
||||
description: appDescription,
|
||||
installDir: '/usr',
|
||||
iconPath: atomExecutableName
|
||||
iconPath: editorExecutableName
|
||||
});
|
||||
fs.writeFileSync(
|
||||
path.join(rpmPackageBuildDirPath, `${atomExecutableName}.desktop`),
|
||||
path.join(rpmPackageBuildDirPath, `${editorExecutableName}.desktop`),
|
||||
desktopEntryContents
|
||||
);
|
||||
|
||||
console.log(`Copying atom.sh into "${rpmPackageBuildDirPath}"`);
|
||||
console.log(`Copying pulsar.sh into "${rpmPackageBuildDirPath}"`);
|
||||
fs.copySync(
|
||||
path.join(CONFIG.repositoryRootPath, 'atom.sh'),
|
||||
path.join(rpmPackageBuildDirPath, 'atom.sh')
|
||||
path.join(CONFIG.repositoryRootPath, 'pulsar.sh'),
|
||||
path.join(rpmPackageBuildDirPath, 'pulsar.sh')
|
||||
);
|
||||
|
||||
console.log(`Copying atom.policy into "${rpmPackageBuildDirPath}"`);
|
||||
console.log(`Copying pulsar.policy into "${rpmPackageBuildDirPath}"`);
|
||||
fs.copySync(
|
||||
path.join(CONFIG.repositoryRootPath, 'resources', 'linux', 'atom.policy'),
|
||||
path.join(CONFIG.repositoryRootPath, 'resources', 'linux', 'pulsar.policy'),
|
||||
path.join(rpmPackageBuildDirPath, policyFileName)
|
||||
);
|
||||
|
||||
@ -137,7 +137,7 @@ module.exports = function(packagedAppPath) {
|
||||
);
|
||||
const outputRpmPackageFilePath = path.join(
|
||||
CONFIG.buildOutputPath,
|
||||
`atom.${generatedArch}.rpm`
|
||||
`pulsar.${generatedArch}.rpm`
|
||||
);
|
||||
console.log(
|
||||
`Copying "${generatedPackageFilePath}" into "${outputRpmPackageFilePath}"`
|
||||
|
@ -20,7 +20,7 @@ module.exports = packagedAppPath => {
|
||||
authors: 'GitHub Inc.',
|
||||
iconUrl: `https://raw.githubusercontent.com/${REPO_OWNER}/${MAIN_REPO}/master/resources/app-icons/${
|
||||
CONFIG.channel
|
||||
}/atom.ico`,
|
||||
}/pulsar.ico`,
|
||||
loadingGif: path.join(
|
||||
CONFIG.repositoryRootPath,
|
||||
'resources',
|
||||
@ -32,13 +32,13 @@ module.exports = packagedAppPath => {
|
||||
remoteReleases: `${updateUrlPrefix}/api/updates${archSuffix}?version=${
|
||||
CONFIG.computedAppVersion
|
||||
}`,
|
||||
setupExe: `AtomSetup${process.arch === 'x64' ? '-x64' : ''}.exe`,
|
||||
setupExe: `PulsarSetup${process.arch === 'x64' ? '-x64' : ''}.exe`,
|
||||
setupIcon: path.join(
|
||||
CONFIG.repositoryRootPath,
|
||||
'resources',
|
||||
'app-icons',
|
||||
CONFIG.channel,
|
||||
'atom.ico'
|
||||
'pulsar.ico'
|
||||
)
|
||||
};
|
||||
|
||||
@ -49,7 +49,7 @@ module.exports = packagedAppPath => {
|
||||
}
|
||||
|
||||
let appName =
|
||||
CONFIG.channel === 'stable' ? 'atom' : `atom-${CONFIG.channel}`;
|
||||
CONFIG.channel === 'stable' ? 'pulsar' : `pulsar-${CONFIG.channel}`;
|
||||
for (let nupkgPath of glob.sync(
|
||||
`${CONFIG.buildOutputPath}/${appName}-*.nupkg`
|
||||
)) {
|
||||
@ -60,7 +60,7 @@ module.exports = packagedAppPath => {
|
||||
fs.unlinkSync(nupkgPath);
|
||||
} else {
|
||||
if (process.arch === 'x64') {
|
||||
// Use the original .nupkg filename to generate the `atom-x64` name by inserting `-x64` after `atom`
|
||||
// Use the original .nupkg filename to generate the `pulsar-x64` name by inserting `-x64` after `pulsar`
|
||||
const newNupkgPath = nupkgPath.replace(
|
||||
`${appName}-`,
|
||||
`${appName}-x64-`
|
||||
|
@ -9,7 +9,7 @@ module.exports = function(downloadURL, destinationPath) {
|
||||
const response = syncRequest('GET', downloadURL, {
|
||||
headers: {
|
||||
Accept: 'application/vnd.github.v3.raw',
|
||||
'User-Agent': 'Atom Build',
|
||||
'User-Agent': 'Pulsar Build',
|
||||
Authorization: `token ${process.env.GITHUB_TOKEN}`
|
||||
}
|
||||
});
|
||||
|
@ -10,7 +10,7 @@ const path = require('path');
|
||||
const CONFIG = require('../config');
|
||||
|
||||
module.exports = function() {
|
||||
const generatedJSONPath = path.join(CONFIG.docsOutputPath, 'atom-api.json');
|
||||
const generatedJSONPath = path.join(CONFIG.docsOutputPath, 'pulsar-api.json');
|
||||
console.log(`Generating API docs at ${generatedJSONPath}`);
|
||||
|
||||
// Unfortunately, correct relative paths depend on a specific working
|
||||
|
@ -13,7 +13,7 @@ let appName = CONFIG.appMetadata.name;
|
||||
if (process.platform === 'win32') {
|
||||
// Use the channel name in the app name on Windows so that the installer will
|
||||
// place it in a different folder in AppData\Local
|
||||
appName = CONFIG.channel === 'stable' ? 'atom' : `atom-${CONFIG.channel}`;
|
||||
appName = CONFIG.channel === 'stable' ? 'pulsar' : `pulsar-${CONFIG.channel}`;
|
||||
}
|
||||
|
||||
module.exports = function() {
|
||||
|
@ -76,19 +76,19 @@ module.exports = function(packagedAppPath, installDir) {
|
||||
});
|
||||
}
|
||||
} else {
|
||||
const atomExecutableName =
|
||||
CONFIG.channel === 'stable' ? 'atom' : 'atom-' + CONFIG.channel;
|
||||
const apmExecutableName =
|
||||
const editorExecutableName =
|
||||
CONFIG.channel === 'stable' ? 'pulsar' : 'pulsar-' + CONFIG.channel;
|
||||
const pkgMgrExecutableName =
|
||||
CONFIG.channel === 'stable' ? 'apm' : 'apm-' + CONFIG.channel;
|
||||
const appName =
|
||||
CONFIG.channel === 'stable'
|
||||
? 'Atom'
|
||||
: startCase('Atom ' + CONFIG.channel);
|
||||
? 'Pulsar'
|
||||
: startCase('Pulsar ' + CONFIG.channel);
|
||||
const appDescription = CONFIG.appMetadata.description;
|
||||
const prefixDirPath =
|
||||
installDir !== '' ? handleTilde(installDir) : path.join('/usr', 'local');
|
||||
const shareDirPath = path.join(prefixDirPath, 'share');
|
||||
const installationDirPath = path.join(shareDirPath, atomExecutableName);
|
||||
const installationDirPath = path.join(shareDirPath, editorExecutableName);
|
||||
const applicationsDirPath = path.join(shareDirPath, 'applications');
|
||||
|
||||
const binDirPath = path.join(prefixDirPath, 'bin');
|
||||
@ -101,7 +101,7 @@ module.exports = function(packagedAppPath, installDir) {
|
||||
{
|
||||
// Install icons
|
||||
const baseIconThemeDirPath = findBaseIconThemeDirPath();
|
||||
const fullIconName = atomExecutableName + '.png';
|
||||
const fullIconName = editorExecutableName + '.png';
|
||||
|
||||
let existingIconsFound = false;
|
||||
fs.readdirSync(baseIconThemeDirPath).forEach(size => {
|
||||
@ -156,7 +156,7 @@ module.exports = function(packagedAppPath, installDir) {
|
||||
// Install xdg desktop file
|
||||
const desktopEntryPath = path.join(
|
||||
applicationsDirPath,
|
||||
`${atomExecutableName}.desktop`
|
||||
`${editorExecutableName}.desktop`
|
||||
);
|
||||
if (fs.existsSync(desktopEntryPath)) {
|
||||
console.log(
|
||||
@ -170,51 +170,51 @@ module.exports = function(packagedAppPath, installDir) {
|
||||
CONFIG.repositoryRootPath,
|
||||
'resources',
|
||||
'linux',
|
||||
'atom.desktop.in'
|
||||
'pulsar.desktop.in'
|
||||
)
|
||||
);
|
||||
const desktopEntryContents = template(desktopEntryTemplate)({
|
||||
appName,
|
||||
appFileName: atomExecutableName,
|
||||
appFileName: editorExecutableName,
|
||||
description: appDescription,
|
||||
installDir: prefixDirPath,
|
||||
iconPath: atomExecutableName
|
||||
iconPath: editorExecutableName
|
||||
});
|
||||
fs.writeFileSync(desktopEntryPath, desktopEntryContents);
|
||||
}
|
||||
|
||||
{
|
||||
// Add atom executable to the PATH
|
||||
const atomBinDestinationPath = path.join(binDirPath, atomExecutableName);
|
||||
if (fs.existsSync(atomBinDestinationPath)) {
|
||||
// Add pulsar executable to the PATH
|
||||
const editorBinDestinationPath = path.join(binDirPath, editorExecutableName);
|
||||
if (fs.existsSync(editorBinDestinationPath)) {
|
||||
console.log(
|
||||
`Removing existing executable at "${atomBinDestinationPath}"`
|
||||
`Removing existing executable at "${editorBinDestinationPath}"`
|
||||
);
|
||||
fs.removeSync(atomBinDestinationPath);
|
||||
fs.removeSync(editorBinDestinationPath);
|
||||
}
|
||||
console.log(`Copying atom.sh to "${atomBinDestinationPath}"`);
|
||||
console.log(`Copying pulsar.sh to "${editorBinDestinationPath}"`);
|
||||
fs.copySync(
|
||||
path.join(CONFIG.repositoryRootPath, 'atom.sh'),
|
||||
atomBinDestinationPath
|
||||
path.join(CONFIG.repositoryRootPath, 'pulsar.sh'),
|
||||
editorBinDestinationPath
|
||||
);
|
||||
}
|
||||
|
||||
{
|
||||
// Link apm executable to the PATH
|
||||
const apmBinDestinationPath = path.join(binDirPath, apmExecutableName);
|
||||
const pkgMgrBinDestinationPath = path.join(binDirPath, pkgMgrExecutableName);
|
||||
try {
|
||||
fs.lstatSync(apmBinDestinationPath);
|
||||
fs.lstatSync(pkgMgrBinDestinationPath);
|
||||
console.log(
|
||||
`Removing existing executable at "${apmBinDestinationPath}"`
|
||||
`Removing existing executable at "${pkgMgrBinDestinationPath}"`
|
||||
);
|
||||
fs.removeSync(apmBinDestinationPath);
|
||||
fs.removeSync(pkgMgrBinDestinationPath);
|
||||
} catch (e) {}
|
||||
console.log(`Symlinking apm to "${apmBinDestinationPath}"`);
|
||||
console.log(`Symlinking apm to "${pkgMgrBinDestinationPath}"`);
|
||||
fs.symlinkSync(
|
||||
path.join(
|
||||
'..',
|
||||
'share',
|
||||
atomExecutableName,
|
||||
editorExecutableName,
|
||||
'resources',
|
||||
'app',
|
||||
'apm',
|
||||
@ -222,7 +222,7 @@ module.exports = function(packagedAppPath, installDir) {
|
||||
'.bin',
|
||||
'apm'
|
||||
),
|
||||
apmBinDestinationPath
|
||||
pkgMgrBinDestinationPath
|
||||
);
|
||||
}
|
||||
|
||||
|
@ -4,7 +4,7 @@ const CONFIG = require('../config.js');
|
||||
|
||||
module.exports = function() {
|
||||
if (process.platform === 'win32') {
|
||||
// Use START as a way to ignore error if Atom.exe isnt running
|
||||
// Use START as a way to ignore error if Pulsar.exe isnt running
|
||||
childProcess.execSync(`START taskkill /F /IM ${CONFIG.executableName}`);
|
||||
} else {
|
||||
childProcess.execSync(`pkill -9 ${CONFIG.appMetadata.productName} || true`);
|
||||
|
@ -1,7 +1,7 @@
|
||||
const notarize = require('electron-notarize').notarize;
|
||||
|
||||
module.exports = async function(packagedAppPath) {
|
||||
const appBundleId = 'com.github.atom';
|
||||
const appBundleId = 'com.github.pulsar';
|
||||
const appleId = process.env.AC_USER;
|
||||
const appleIdPassword = process.env.AC_PASSWORD;
|
||||
console.log(`Notarizing application at ${packagedAppPath}`);
|
||||
|
@ -22,7 +22,8 @@ module.exports = function() {
|
||||
} with app name "${appName}"`
|
||||
);
|
||||
return runPackager({
|
||||
appBundleId: 'com.github.atom',
|
||||
appBundleId: 'com.github.pulsar',
|
||||
//TODO_PULSAR: Check to see if we should/need to migrate away from GitHub as a CompanyName
|
||||
appCopyright: `Copyright © 2014-${new Date().getFullYear()} GitHub, Inc. All rights reserved.`,
|
||||
appVersion: CONFIG.appMetadata.version,
|
||||
arch: process.platform === 'darwin' ? 'x64' : HOST_ARCH, // OS X is 64-bit only
|
||||
@ -36,25 +37,26 @@ module.exports = function() {
|
||||
CONFIG.repositoryRootPath,
|
||||
'resources',
|
||||
'mac',
|
||||
'atom-Info.plist'
|
||||
'pulsar-Info.plist'
|
||||
),
|
||||
helperBundleId: 'com.github.atom.helper',
|
||||
helperBundleId: 'com.github.pulsar.helper',
|
||||
icon: path.join(
|
||||
CONFIG.repositoryRootPath,
|
||||
'resources',
|
||||
'app-icons',
|
||||
CONFIG.channel,
|
||||
'atom'
|
||||
'pulsar'
|
||||
),
|
||||
name: appName,
|
||||
out: CONFIG.buildOutputPath,
|
||||
overwrite: true,
|
||||
platform: process.platform,
|
||||
// Atom doesn't have devDependencies, but if prune is true, it will delete the non-standard packageDependencies.
|
||||
// Pulsar doesn't have devDependencies, but if prune is true, it will delete the non-standard packageDependencies.
|
||||
prune: false,
|
||||
win32metadata: {
|
||||
//TODO_PULSAR: Check to see if we should/need to migrate away from GitHub as a CompanyName
|
||||
CompanyName: 'GitHub, Inc.',
|
||||
FileDescription: 'Atom',
|
||||
FileDescription: 'Pulsar',
|
||||
ProductName: CONFIG.appName
|
||||
}
|
||||
}).then(packagedAppPath => {
|
||||
@ -109,8 +111,8 @@ function copyNonASARResources(packagedAppPath, bundledResourcesPath) {
|
||||
)
|
||||
);
|
||||
fs.copySync(
|
||||
path.join(CONFIG.repositoryRootPath, 'atom.sh'),
|
||||
path.join(bundledResourcesPath, 'app', 'atom.sh')
|
||||
path.join(CONFIG.repositoryRootPath, 'pulsar.sh'),
|
||||
path.join(bundledResourcesPath, 'app', 'pulsar.sh')
|
||||
);
|
||||
}
|
||||
if (process.platform === 'darwin') {
|
||||
@ -128,12 +130,12 @@ function copyNonASARResources(packagedAppPath, bundledResourcesPath) {
|
||||
'png',
|
||||
'1024.png'
|
||||
),
|
||||
path.join(packagedAppPath, 'atom.png')
|
||||
path.join(packagedAppPath, 'pulsar.png')
|
||||
);
|
||||
} else if (process.platform === 'win32') {
|
||||
[
|
||||
'atom.sh',
|
||||
'atom.js',
|
||||
'pulsar.sh',
|
||||
'pulsar.js',
|
||||
'apm.cmd',
|
||||
'apm.sh',
|
||||
'file.ico',
|
||||
@ -145,7 +147,7 @@ function copyNonASARResources(packagedAppPath, bundledResourcesPath) {
|
||||
)
|
||||
);
|
||||
|
||||
// Customize atom.cmd for the channel-specific atom.exe name (e.g. atom-beta.exe)
|
||||
// Customize pulsar.cmd for the channel-specific pulsar.exe name (e.g. pulsar-beta.exe)
|
||||
generateAtomCmdForChannel(bundledResourcesPath);
|
||||
}
|
||||
|
||||
@ -162,11 +164,11 @@ function setAtomHelperVersion(packagedAppPath) {
|
||||
const frameworksPath = path.join(packagedAppPath, 'Contents', 'Frameworks');
|
||||
const helperPListPath = path.join(
|
||||
frameworksPath,
|
||||
'Atom Helper.app',
|
||||
'Pulsar Helper.app',
|
||||
'Contents',
|
||||
'Info.plist'
|
||||
);
|
||||
console.log(`Setting Atom Helper Version for ${helperPListPath}`);
|
||||
console.log(`Setting Pulsar Helper Version for ${helperPListPath}`);
|
||||
spawnSync('/usr/libexec/PlistBuddy', [
|
||||
'-c',
|
||||
`Add CFBundleVersion string ${CONFIG.appMetadata.version}`,
|
||||
@ -197,7 +199,7 @@ function buildAsarUnpackGlobExpression() {
|
||||
path.join('**', 'node_modules', 'dugite', 'git', '**'),
|
||||
path.join('**', 'node_modules', 'github', 'bin', '**'),
|
||||
path.join('**', 'node_modules', 'vscode-ripgrep', 'bin', '**'),
|
||||
path.join('**', 'resources', 'atom.png')
|
||||
path.join('**', 'resources', 'pulsar.png')
|
||||
];
|
||||
|
||||
return `{${unpack.join(',')}}`;
|
||||
@ -207,9 +209,9 @@ function getAppName() {
|
||||
if (process.platform === 'darwin') {
|
||||
return CONFIG.appName;
|
||||
} else if (process.platform === 'win32') {
|
||||
return CONFIG.channel === 'stable' ? 'atom' : `atom-${CONFIG.channel}`;
|
||||
return CONFIG.channel === 'stable' ? 'pulsar' : `pulsar-${CONFIG.channel}`;
|
||||
} else {
|
||||
return 'atom';
|
||||
return 'pulsar';
|
||||
}
|
||||
}
|
||||
|
||||
@ -236,7 +238,7 @@ function renamePackagedAppDir(packageOutputDirPath) {
|
||||
);
|
||||
} else if (process.platform === 'linux') {
|
||||
const appName =
|
||||
CONFIG.channel !== 'stable' ? `atom-${CONFIG.channel}` : 'atom';
|
||||
CONFIG.channel !== 'stable' ? `pulsar-${CONFIG.channel}` : 'pulsar';
|
||||
let architecture;
|
||||
if (HOST_ARCH === 'ia32') {
|
||||
architecture = 'i386';
|
||||
@ -264,13 +266,13 @@ function renamePackagedAppDir(packageOutputDirPath) {
|
||||
|
||||
function generateAtomCmdForChannel(bundledResourcesPath) {
|
||||
const atomCmdTemplate = fs.readFileSync(
|
||||
path.join(CONFIG.repositoryRootPath, 'resources', 'win', 'atom.cmd')
|
||||
path.join(CONFIG.repositoryRootPath, 'resources', 'win', 'pulsar.cmd')
|
||||
);
|
||||
const atomCmdContents = template(atomCmdTemplate)({
|
||||
atomExeName: CONFIG.executableName
|
||||
});
|
||||
fs.writeFileSync(
|
||||
path.join(bundledResourcesPath, 'cli', 'atom.cmd'),
|
||||
path.join(bundledResourcesPath, 'cli', 'pulsar.cmd'),
|
||||
atomCmdContents
|
||||
);
|
||||
}
|
||||
|
@ -6,7 +6,7 @@ const CONFIG = require('../config');
|
||||
|
||||
module.exports = function(packagePath, ci, stdioOptions) {
|
||||
const installEnv = Object.assign({}, process.env);
|
||||
// Set resource path so that apm can load metadata related to Atom.
|
||||
// Set resource path so that apm can load metadata related to Pulsar.
|
||||
installEnv.ATOM_RESOURCE_PATH = CONFIG.repositoryRootPath;
|
||||
|
||||
childProcess.execFileSync(CONFIG.getApmBinPath(), [ci ? 'ci' : 'install'], {
|
||||
|
@ -64,7 +64,7 @@ function transpilePackagesWithCustomTranspilerPaths() {
|
||||
pathsToCompile.forEach(transpilePath);
|
||||
}
|
||||
|
||||
// Now that we've transpiled everything in-place, we no longer want Atom to try to transpile
|
||||
// Now that we've transpiled everything in-place, we no longer want Pulsar to try to transpile
|
||||
// the same files when they're being required.
|
||||
delete metadata.atomTranspilers;
|
||||
fs.writeFileSync(
|
||||
|
@ -8,6 +8,7 @@ const git = (git, repositoryRootPath) => {
|
||||
'package-lock.json'
|
||||
);
|
||||
try {
|
||||
//TODO_PULSAR: Update remotes
|
||||
git.getRemotes((err, remotes) => {
|
||||
if (!err && !remotes.map(({ name }) => name).includes('ATOM')) {
|
||||
git.addRemote(
|
||||
|
@ -4,7 +4,7 @@ const { REPO_OWNER, MAIN_REPO } = require('../../config');
|
||||
const requestWithAuth = request.defaults({
|
||||
baseUrl: 'https://api.github.com',
|
||||
headers: {
|
||||
'user-agent': 'atom',
|
||||
'user-agent': 'pulsar',
|
||||
authorization: `token ${process.env.AUTH_TOKEN}`
|
||||
},
|
||||
owner: REPO_OWNER,
|
||||
@ -18,7 +18,7 @@ module.exports = {
|
||||
) => {
|
||||
let description = `Bumps ${moduleName} from ${installed} to ${latest}`;
|
||||
if (isCorePackage) {
|
||||
description = `*List of changes between ${moduleName}@${installed} and ${moduleName}@${latest}: https://github.com/atom/${moduleName}/compare/v${installed}...v${latest}*`;
|
||||
description = `*List of changes between ${moduleName}@${installed} and ${moduleName}@${latest}: https://github.com/pulsar-edit/${moduleName}/compare/v${installed}...v${latest}*`;
|
||||
}
|
||||
return requestWithAuth('POST /repos/:owner/:repo/pulls', {
|
||||
title: `⬆️ ${moduleName}@${latest}`,
|
||||
@ -34,7 +34,7 @@ module.exports = {
|
||||
},
|
||||
findOpenPRs: async () => {
|
||||
return requestWithAuth('GET /search/issues', {
|
||||
q: 'type:pr repo:atom/atom state:open label:"depency ⬆️"'
|
||||
q: 'type:pr repo:pulsar-edit/pulsar state:open label:"depency ⬆️"'
|
||||
});
|
||||
},
|
||||
checkCIstatus: async ({ ref }) => {
|
||||
|
@ -16,7 +16,7 @@ function verifyNode() {
|
||||
console.log(`Node:\tv${fullVersion}`);
|
||||
} else {
|
||||
throw new Error(
|
||||
`node v10.12+ is required to build Atom. node v${fullVersion} is installed.`
|
||||
`node v10.12+ is required to build Pulsar. node v${fullVersion} is installed.`
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -110,7 +110,7 @@ function verifyPython() {
|
||||
throw new Error(
|
||||
`NODE_GYP_FORCE_PYTHON is set to: "${binary}", but this is not a valid Python.\n` +
|
||||
'Please set NODE_GYP_FORCE_PYTHON to something valid, or unset it entirely.\n' +
|
||||
'(Python 2.6, 2.7 or 3.5+ is required to build Atom.)\n'
|
||||
'(Python 2.6, 2.7 or 3.5+ is required to build Pulsar.)\n'
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -139,7 +139,7 @@ function verifyPython() {
|
||||
} else {
|
||||
throw new Error(
|
||||
`\n${triedLog}\n` +
|
||||
'Python 2.6, 2.7 or 3.5+ is required to build Atom.\n' +
|
||||
'Python 2.6, 2.7 or 3.5+ is required to build Pulsar.\n' +
|
||||
'verify-machine-requirements.js was unable to find such a version of Python.\n' +
|
||||
"Set the PYTHON env var to e.g. 'C:/path/to/Python27/python.exe'\n" +
|
||||
'if your Python is installed in a non-default location.\n'
|
||||
|
@ -48,7 +48,7 @@ const runApmInstall = require('./lib/run-apm-install');
|
||||
function assertExecutablePaths(executablePaths) {
|
||||
assert(
|
||||
executablePaths.length !== 0,
|
||||
`No atom build found. Please run "script/build" and try again.`
|
||||
`No Pulsar build found. Please run "script/build" and try again.`
|
||||
);
|
||||
assert(
|
||||
executablePaths.length === 1,
|
||||
@ -71,13 +71,13 @@ if (process.platform === 'darwin') {
|
||||
);
|
||||
} else if (process.platform === 'linux') {
|
||||
const executablePaths = glob.sync(
|
||||
path.join(CONFIG.buildOutputPath, 'atom-*', 'atom')
|
||||
path.join(CONFIG.buildOutputPath, 'pulsar-*', 'pulsar')
|
||||
);
|
||||
assertExecutablePaths(executablePaths);
|
||||
executablePath = executablePaths[0];
|
||||
} else if (process.platform === 'win32') {
|
||||
const executablePaths = glob.sync(
|
||||
path.join(CONFIG.buildOutputPath, '**', 'atom*.exe')
|
||||
path.join(CONFIG.buildOutputPath, '**', 'pulsar*.exe')
|
||||
);
|
||||
assertExecutablePaths(executablePaths);
|
||||
executablePath = executablePaths[0];
|
||||
|
@ -7,12 +7,12 @@ const express = require('express');
|
||||
const app = express();
|
||||
const port = process.env.PORT || 3456;
|
||||
|
||||
// Load the metadata for the local build of Atom
|
||||
// Load the metadata for the local build of Pulsar
|
||||
const buildPath = path.resolve(__dirname, '..', '..', 'out');
|
||||
const packageJsonPath = path.join(buildPath, 'app', 'package.json');
|
||||
if (!fs.existsSync(buildPath) || !fs.existsSync(packageJsonPath)) {
|
||||
console.log(
|
||||
`This script requires a full Atom build with release packages for the current platform in the following path:\n ${buildPath}\n`
|
||||
`This script requires a full Pulsar build with release packages for the current platform in the following path:\n ${buildPath}\n`
|
||||
);
|
||||
if (process.platform === 'darwin') {
|
||||
console.log(
|
||||
@ -37,8 +37,8 @@ console.log(
|
||||
);
|
||||
|
||||
function getMacZip(req, res) {
|
||||
console.log(`Received request for atom-mac.zip, sending it`);
|
||||
res.sendFile(path.join(buildPath, 'atom-mac.zip'));
|
||||
console.log(`Received request for pulsar-mac.zip, sending it`);
|
||||
res.sendFile(path.join(buildPath, 'pulsar-mac.zip'));
|
||||
}
|
||||
|
||||
function getMacUpdates(req, res) {
|
||||
@ -46,7 +46,7 @@ function getMacUpdates(req, res) {
|
||||
const updateInfo = {
|
||||
name: appMetadata.version,
|
||||
pub_date: new Date().toISOString(),
|
||||
url: `http://localhost:${port}/mac/atom-mac.zip`,
|
||||
url: `http://localhost:${port}/mac/pulsar-mac.zip`,
|
||||
notes: '<p>No Details</p>'
|
||||
};
|
||||
|
||||
@ -59,7 +59,7 @@ function getMacUpdates(req, res) {
|
||||
res.json(updateInfo);
|
||||
} else {
|
||||
console.log(
|
||||
`Received request for macOS updates, sending 204 as Atom is up to date (version = ${
|
||||
`Received request for macOS updates, sending 204 as Pulsar is up to date (version = ${
|
||||
req.query.version
|
||||
})`
|
||||
);
|
||||
@ -79,7 +79,7 @@ function getReleasesFile(fileName) {
|
||||
const versionChannel = (versionMatch && versionMatch[1]) || 'stable';
|
||||
if (releaseChannel !== versionChannel) {
|
||||
console.log(
|
||||
`Atom requested an update for version ${
|
||||
`Pulsar requested an update for version ${
|
||||
req.query.version
|
||||
} but the current release channel is ${releaseChannel}`
|
||||
);
|
||||
@ -96,9 +96,9 @@ function getNupkgFile(is64bit) {
|
||||
return function(req, res) {
|
||||
let nupkgFile = req.params.nupkg;
|
||||
if (is64bit) {
|
||||
const nupkgMatch = nupkgFile.match(/atom-(.+)-(delta|full)\.nupkg/);
|
||||
const nupkgMatch = nupkgFile.match(/pulsar-(.+)-(delta|full)\.nupkg/);
|
||||
if (nupkgMatch) {
|
||||
nupkgFile = `atom-x64-${nupkgMatch[1]}-${nupkgMatch[2]}.nupkg`;
|
||||
nupkgFile = `pulsar-x64-${nupkgMatch[1]}-${nupkgMatch[2]}.nupkg`;
|
||||
}
|
||||
}
|
||||
|
||||
@ -110,7 +110,7 @@ function getNupkgFile(is64bit) {
|
||||
}
|
||||
|
||||
if (process.platform === 'darwin') {
|
||||
app.get('/mac/atom-mac.zip', getMacZip);
|
||||
app.get('/mac/pulsar-mac.zip', getMacZip);
|
||||
app.get('/api/updates', getMacUpdates);
|
||||
} else if (process.platform === 'win32') {
|
||||
app.get('/api/updates/RELEASES', getReleasesFile('RELEASES'));
|
||||
@ -128,7 +128,7 @@ if (process.platform === 'darwin') {
|
||||
|
||||
app.listen(port, () => {
|
||||
console.log(
|
||||
`Run Atom with ATOM_UPDATE_URL_PREFIX="http://localhost:${port}" set to test updates!\n`
|
||||
`Run Pulsar with ATOM_UPDATE_URL_PREFIX="http://localhost:${port}" set to test updates!\n`
|
||||
.yellow
|
||||
);
|
||||
});
|
||||
|
@ -15,12 +15,12 @@ const argv = yargs
|
||||
function getAppName(version) {
|
||||
const match = version.match(/\d+\.\d+\.\d+(-([a-z]+)(\d+|-\w{4,})?)?$/);
|
||||
if (!match) {
|
||||
throw new Error(`Found incorrectly formatted Atom version ${version}`);
|
||||
throw new Error(`Found incorrectly formatted Pulsar version ${version}`);
|
||||
} else if (match[2]) {
|
||||
return `atom-${match[2]}`;
|
||||
return `pulsar-${match[2]}`;
|
||||
}
|
||||
|
||||
return 'atom';
|
||||
return 'pulsar';
|
||||
}
|
||||
|
||||
async function getReleaseVersion() {
|
||||
@ -30,7 +30,7 @@ async function getReleaseVersion() {
|
||||
url: `https://api.github.com/repos/${REPO_OWNER}/${NIGHTLY_RELEASE_REPO}/releases`,
|
||||
headers: {
|
||||
Accept: 'application/vnd.github.v3+json',
|
||||
'User-Agent': 'Atom Release Build'
|
||||
'User-Agent': 'Pulsar Release Build'
|
||||
},
|
||||
json: true
|
||||
});
|
||||
|
@ -74,7 +74,7 @@ module.exports.generateForVersion = async function(
|
||||
let prString = changelog.pullRequestsToString(pullRequests);
|
||||
let title = repo;
|
||||
if (repo === MAIN_REPO) {
|
||||
title = 'Atom Core';
|
||||
title = 'Pulsar Core';
|
||||
fromTag = oldVersionName;
|
||||
toTag = releaseVersion;
|
||||
}
|
||||
@ -126,7 +126,7 @@ module.exports.generateForNightly = async function(
|
||||
|
||||
if (oldReleaseNotes) {
|
||||
const extractMatch = oldReleaseNotes.match(
|
||||
/atom\/atom\/commit\/([0-9a-f]{5,40})/
|
||||
/pulsar-edit\/pulsar\/commit\/([0-9a-f]{5,40})/
|
||||
);
|
||||
if (extractMatch.length > 1 && extractMatch[1]) {
|
||||
output.push('', '---', '');
|
||||
|
@ -39,7 +39,7 @@ const releaseVersion = CONFIG.computedAppVersion;
|
||||
const isNightlyRelease = CONFIG.channel === 'nightly';
|
||||
const assetsPath = argv.assetsPath || CONFIG.buildOutputPath;
|
||||
const assetsPattern =
|
||||
'/**/*(*.exe|*.zip|*.nupkg|*.tar.gz|*.rpm|*.deb|RELEASES*|atom-api.json)';
|
||||
'/**/*(*.exe|*.zip|*.nupkg|*.tar.gz|*.rpm|*.deb|RELEASES*|pulsar-api.json)';
|
||||
const assets = glob.sync(assetsPattern, { root: assetsPath, nodir: true });
|
||||
const azureBlobPath = argv.azureBlobPath || `releases/v${releaseVersion}/`;
|
||||
|
||||
|
@ -52,7 +52,7 @@ const stat = util.promisify(fs.stat);
|
||||
|
||||
let nextId = 0;
|
||||
|
||||
// Essential: Atom global for dealing with packages, themes, menus, and the window.
|
||||
// Essential: Pulsar global for dealing with packages, themes, menus, and the window.
|
||||
//
|
||||
// An instance of this class is always available as the `atom` global.
|
||||
class AtomEnvironment {
|
||||
@ -387,15 +387,15 @@ class AtomEnvironment {
|
||||
registerDefaultOpeners() {
|
||||
this.workspace.addOpener(uri => {
|
||||
switch (uri) {
|
||||
case 'atom://.atom/stylesheet':
|
||||
case 'atom://.pulsar/stylesheet':
|
||||
return this.workspace.openTextFile(
|
||||
this.styles.getUserStyleSheetPath()
|
||||
);
|
||||
case 'atom://.atom/keymap':
|
||||
case 'atom://.pulsar/keymap':
|
||||
return this.workspace.openTextFile(this.keymaps.getUserKeymapPath());
|
||||
case 'atom://.atom/config':
|
||||
case 'atom://.pulsar/config':
|
||||
return this.workspace.openTextFile(this.config.getUserConfigPath());
|
||||
case 'atom://.atom/init-script':
|
||||
case 'atom://.pulsar/init-script':
|
||||
return this.workspace.openTextFile(this.getUserInitScriptPath());
|
||||
}
|
||||
});
|
||||
@ -534,7 +534,7 @@ class AtomEnvironment {
|
||||
}
|
||||
|
||||
/*
|
||||
Section: Atom Details
|
||||
Section: Pulsar Details
|
||||
*/
|
||||
|
||||
// Public: Returns a {Boolean} that is `true` if the current window is in development mode.
|
||||
@ -563,7 +563,7 @@ class AtomEnvironment {
|
||||
return this.firstLoad;
|
||||
}
|
||||
|
||||
// Public: Get the full name of this Atom release (e.g. "Atom", "Atom Beta")
|
||||
// Public: Get the full name of this Pulsar release (e.g. "Pulsar", "Pulsar Beta")
|
||||
//
|
||||
// Returns the app name {String}.
|
||||
getAppName() {
|
||||
@ -571,7 +571,7 @@ class AtomEnvironment {
|
||||
return this.appName;
|
||||
}
|
||||
|
||||
// Public: Get the version of the Atom application.
|
||||
// Public: Get the version of the Pulsar application.
|
||||
//
|
||||
// Returns the version text {String}.
|
||||
getVersion() {
|
||||
@ -580,10 +580,10 @@ class AtomEnvironment {
|
||||
return this.appVersion;
|
||||
}
|
||||
|
||||
// Public: Gets the release channel of the Atom application.
|
||||
// Public: Gets the release channel of the Pulsar application.
|
||||
//
|
||||
// Returns the release channel as a {String}. Will return a specific release channel
|
||||
// name like 'beta' or 'nightly' if one is found in the Atom version or 'stable'
|
||||
// name like 'beta' or 'nightly' if one is found in the Pulsar version or 'stable'
|
||||
// otherwise.
|
||||
getReleaseChannel() {
|
||||
return getReleaseChannel(this.getVersion());
|
||||
@ -625,10 +625,10 @@ class AtomEnvironment {
|
||||
}
|
||||
|
||||
/*
|
||||
Section: Managing The Atom Window
|
||||
Section: Managing The Pulsar Window
|
||||
*/
|
||||
|
||||
// Essential: Open a new Atom window using the given options.
|
||||
// Essential: Open a new Pulsar window using the given options.
|
||||
//
|
||||
// Calling this method without an options parameter will open a prompt to pick
|
||||
// a file/folder to open in the new window.
|
||||
@ -638,10 +638,10 @@ class AtomEnvironment {
|
||||
// * `newWindow` A {Boolean}, true to always open a new window instead of
|
||||
// reusing existing windows depending on the paths to open.
|
||||
// * `devMode` A {Boolean}, true to open the window in development mode.
|
||||
// Development mode loads the Atom source from the locally cloned
|
||||
// repository and also loads all the packages in ~/.atom/dev/packages
|
||||
// Development mode loads the Pulsar source from the locally cloned
|
||||
// repository and also loads all the packages in ~/.pulsar/dev/packages
|
||||
// * `safeMode` A {Boolean}, true to open the window in safe mode. Safe
|
||||
// mode prevents all packages installed to ~/.atom/packages from loading.
|
||||
// mode prevents all packages installed to ~/.pulsar/packages from loading.
|
||||
open(params) {
|
||||
return this.applicationDelegate.open(params);
|
||||
}
|
||||
@ -1773,7 +1773,7 @@ module.exports = AtomEnvironment;
|
||||
|
||||
// Preserve this deprecation until 2.0. Sorry. Should have removed Q sooner.
|
||||
Promise.prototype.done = function (callback) {
|
||||
deprecate('Atom now uses ES6 Promises instead of Q. Call promise.then instead of promise.done')
|
||||
deprecate('Pulsar now uses ES6 Promises instead of Q. Call promise.then instead of promise.done')
|
||||
return this.then(callback)
|
||||
}
|
||||
|
||||
|
@ -27,15 +27,15 @@ const getAppDirectory = () => {
|
||||
|
||||
module.exports = {
|
||||
setAtomHome: homePath => {
|
||||
// When a read-writeable .atom folder exists above app use that
|
||||
const portableHomePath = path.join(getAppDirectory(), '..', '.atom');
|
||||
// When a read-writeable .pulsar folder exists above app use that
|
||||
const portableHomePath = path.join(getAppDirectory(), '..', '.pulsar');
|
||||
if (fs.existsSync(portableHomePath)) {
|
||||
if (hasWriteAccess(portableHomePath)) {
|
||||
process.env.ATOM_HOME = portableHomePath;
|
||||
} else {
|
||||
// A path exists so it was intended to be used but we didn't have rights, so warn.
|
||||
console.log(
|
||||
`Insufficient permission to portable Atom home "${portableHomePath}".`
|
||||
`Insufficient permission to portable Pulsar home "${portableHomePath}".`
|
||||
);
|
||||
}
|
||||
}
|
||||
@ -46,7 +46,7 @@ module.exports = {
|
||||
}
|
||||
|
||||
// Fall back to default .atom folder in users home folder
|
||||
process.env.ATOM_HOME = path.join(homePath, '.atom');
|
||||
process.env.ATOM_HOME = path.join(homePath, '.pulsar');
|
||||
},
|
||||
|
||||
setUserData: app => {
|
||||
|
@ -1,7 +1,7 @@
|
||||
const crypto = require('crypto');
|
||||
const { clipboard } = require('electron');
|
||||
|
||||
// Extended: Represents the clipboard used for copying and pasting in Atom.
|
||||
// Extended: Represents the clipboard used for copying and pasting in Pulsar.
|
||||
//
|
||||
// An instance of this class is always available as the `atom.clipboard` global.
|
||||
//
|
||||
|
@ -60,8 +60,8 @@ module.exports = class CommandInstaller {
|
||||
|
||||
installAtomCommand(askForPrivilege, callback) {
|
||||
this.installCommand(
|
||||
path.join(this.getResourcesDirectory(), 'app', 'atom.sh'),
|
||||
this.getCommandNameForChannel('atom'),
|
||||
path.join(this.getResourcesDirectory(), 'app', 'pulsar.sh'),
|
||||
this.getCommandNameForChannel('pulsar'),
|
||||
askForPrivilege,
|
||||
callback
|
||||
);
|
||||
|
@ -12,7 +12,7 @@ let SequenceCount = 0;
|
||||
// presented in the command palette.
|
||||
//
|
||||
// The global command registry facilitates a style of event handling known as
|
||||
// *event delegation* that was popularized by jQuery. Atom commands are expressed
|
||||
// *event delegation* that was popularized by jQuery. Pulsar commands are expressed
|
||||
// as custom DOM events that can be invoked on the currently focused element via
|
||||
// a key binding or manually via the command palette. Rather than binding
|
||||
// listeners for command events directly to DOM nodes, you instead register
|
||||
|
@ -1,6 +1,6 @@
|
||||
'use strict';
|
||||
|
||||
// Atom's compile-cache when installing or updating packages, called by apm's Node-js
|
||||
// Pulsar's compile-cache when installing or updating packages, called by apm's Node-js
|
||||
|
||||
const path = require('path');
|
||||
const fs = require('fs-plus');
|
||||
|
@ -77,6 +77,7 @@ module.exports = class ConfigFile {
|
||||
this.requestLoad();
|
||||
});
|
||||
} catch (error) {
|
||||
//TODO_PULSAR: Find out why the atom global variable isn't available at this point
|
||||
this.emitter.emit(
|
||||
'did-error',
|
||||
dedent`
|
||||
|
@ -51,7 +51,7 @@ const configSchema = {
|
||||
default: 'native',
|
||||
enum: ['native', 'hidden'],
|
||||
description:
|
||||
'Experimental: The title bar can be completely `hidden`.<br>This setting will require a relaunch of Atom to take effect.'
|
||||
'Experimental: The title bar can be completely `hidden`.<br>This setting will require a relaunch of Pulsar to take effect.'
|
||||
},
|
||||
versionPinnedPackages: {
|
||||
type: 'array',
|
||||
@ -80,12 +80,12 @@ const configSchema = {
|
||||
type: 'string',
|
||||
default: 'prompt',
|
||||
description:
|
||||
'When should Atom register itself as the default handler for atom:// URIs',
|
||||
'When should Pulsar register itself as the default handler for atom:// URIs',
|
||||
enum: [
|
||||
{
|
||||
value: 'prompt',
|
||||
description:
|
||||
'Prompt to register Atom as the default atom:// URI handler'
|
||||
'Prompt to register Pulsar as the default atom:// URI handler'
|
||||
},
|
||||
{
|
||||
value: 'always',
|
||||
@ -105,7 +105,7 @@ const configSchema = {
|
||||
type: 'string'
|
||||
},
|
||||
description:
|
||||
'Names of UI and syntax themes which will be used when Atom starts.'
|
||||
'Names of UI and syntax themes which will be used when Pulsar starts.'
|
||||
},
|
||||
audioBeep: {
|
||||
type: 'boolean',
|
||||
@ -118,7 +118,7 @@ const configSchema = {
|
||||
default: false,
|
||||
title: 'Close Deleted File Tabs',
|
||||
description:
|
||||
'Close corresponding editors when a file is deleted outside Atom.'
|
||||
'Close corresponding editors when a file is deleted outside Pulsar.'
|
||||
},
|
||||
destroyEmptyPanes: {
|
||||
type: 'boolean',
|
||||
@ -312,7 +312,7 @@ const configSchema = {
|
||||
enum: ['no', 'yes', 'always'],
|
||||
default: 'yes',
|
||||
description:
|
||||
"When selected 'no', a blank environment is loaded. When selected 'yes' and Atom is started from the icon or `atom` by itself from the command line, restores the last state of all Atom windows; otherwise a blank environment is loaded. When selected 'always', restores the last state of all Atom windows always, no matter how Atom is started."
|
||||
"When selected 'no', a blank environment is loaded. When selected 'yes' and Pulsar is started from the icon or `atom` by itself from the command line, restores the last state of all Pulsar windows; otherwise a blank environment is loaded. When selected 'always', restores the last state of all Pulsar windows always, no matter how Pulsar is started."
|
||||
},
|
||||
reopenProjectMenuCount: {
|
||||
description:
|
||||
@ -322,7 +322,7 @@ const configSchema = {
|
||||
},
|
||||
automaticallyUpdate: {
|
||||
description:
|
||||
'Automatically update Atom when a new release is available.',
|
||||
'Automatically update Pulsar when a new release is available.',
|
||||
type: 'boolean',
|
||||
default: true
|
||||
},
|
||||
@ -341,8 +341,8 @@ const configSchema = {
|
||||
},
|
||||
telemetryConsent: {
|
||||
description:
|
||||
'Allow usage statistics and exception reports to be sent to the Atom team to help improve the product.',
|
||||
title: 'Send Telemetry to the Atom Team',
|
||||
'Allow usage statistics and exception reports to be sent to the Pulsar team to help improve the product.',
|
||||
title: 'Send Telemetry to the Pulsar Team',
|
||||
type: 'string',
|
||||
default: 'undecided',
|
||||
enum: [
|
||||
@ -358,7 +358,7 @@ const configSchema = {
|
||||
{
|
||||
value: 'undecided',
|
||||
description:
|
||||
'Undecided (Atom will ask again next time it is launched)'
|
||||
'Undecided (Pulsar will ask again next time it is launched)'
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -370,7 +370,7 @@ const configSchema = {
|
||||
},
|
||||
fileSystemWatcher: {
|
||||
description:
|
||||
'Choose the underlying implementation used to watch for filesystem changes. Emulating changes will miss any events caused by applications other than Atom, but may help prevent crashes or freezes.',
|
||||
'Choose the underlying implementation used to watch for filesystem changes. Emulating changes will miss any events caused by applications other than Pulsar, but may help prevent crashes or freezes.',
|
||||
type: 'string',
|
||||
default: 'native',
|
||||
enum: [
|
||||
@ -388,7 +388,7 @@ const configSchema = {
|
||||
},
|
||||
{
|
||||
value: 'atom',
|
||||
description: 'Emulated with Atom events'
|
||||
description: 'Emulated with Pulsar events'
|
||||
}
|
||||
]
|
||||
},
|
||||
@ -399,7 +399,7 @@ const configSchema = {
|
||||
},
|
||||
colorProfile: {
|
||||
description:
|
||||
"Specify whether Atom should use the operating system's color profile (recommended) or an alternative color profile.<br>Changing this setting will require a relaunch of Atom to take effect.",
|
||||
"Specify whether Pulsar should use the operating system's color profile (recommended) or an alternative color profile.<br>Changing this setting will require a relaunch of Pulsar to take effect.",
|
||||
type: 'string',
|
||||
default: 'default',
|
||||
enum: [
|
||||
@ -587,7 +587,7 @@ const configSchema = {
|
||||
invisibles: {
|
||||
type: 'object',
|
||||
description:
|
||||
'A hash of characters Atom will use to render whitespace characters. Keys are whitespace character types, values are rendered characters (use value false to turn off individual whitespace character types).',
|
||||
'A hash of characters Pulsar will use to render whitespace characters. Keys are whitespace character types, values are rendered characters (use value false to turn off individual whitespace character types).',
|
||||
properties: {
|
||||
eol: {
|
||||
type: ['boolean', 'string'],
|
||||
@ -650,7 +650,7 @@ if (process.platform === 'darwin') {
|
||||
default: 'native',
|
||||
enum: ['native', 'custom', 'custom-inset', 'hidden'],
|
||||
description:
|
||||
'Experimental: A `custom` title bar adapts to theme colors. Choosing `custom-inset` adds a bit more padding. The title bar can also be completely `hidden`.<br>Note: Switching to a custom or hidden title bar will compromise some functionality.<br>This setting will require a relaunch of Atom to take effect.'
|
||||
'Experimental: A `custom` title bar adapts to theme colors. Choosing `custom-inset` adds a bit more padding. The title bar can also be completely `hidden`.<br>Note: Switching to a custom or hidden title bar will compromise some functionality.<br>This setting will require a relaunch of Pulsar to take effect.'
|
||||
};
|
||||
configSchema.core.properties.simpleFullScreenWindows = {
|
||||
type: 'boolean',
|
||||
|
@ -13,7 +13,7 @@ const ScopeDescriptor = require('./scope-descriptor');
|
||||
|
||||
const schemaEnforcers = {};
|
||||
|
||||
// Essential: Used to access all of Atom's configuration details.
|
||||
// Essential: Used to access all of Pulsar's configuration details.
|
||||
//
|
||||
// An instance of this class is always available as the `atom.config` global.
|
||||
//
|
||||
@ -616,7 +616,7 @@ class Config {
|
||||
// See [the scopes docs](http://flight-manual.atom.io/behind-atom/sections/scoped-settings-scopes-and-scope-descriptors/)
|
||||
// for more information.
|
||||
//
|
||||
// Returns the value from Atom's default settings, the user's configuration
|
||||
// Returns the value from Pulsar's default settings, the user's configuration
|
||||
// file in the type specified by the configuration schema.
|
||||
get(...args) {
|
||||
let keyPath, options, scope;
|
||||
@ -688,7 +688,7 @@ class Config {
|
||||
|
||||
// Essential: Sets the value for a configuration setting.
|
||||
//
|
||||
// This value is stored in Atom's internal configuration file.
|
||||
// This value is stored in Pulsar's internal configuration file.
|
||||
//
|
||||
// ### Examples
|
||||
//
|
||||
|