Represents a project that’s opened in Atom.
An instance of this class is always available as the atom.project
global.
Invoke the given callback when the project paths change.
Argument | Description |
---|---|
|
Function to be called after the project paths change. |
|
Return values |
---|
Returns a Disposable on which |
Invoke the given callback when a text buffer is added to the project.
Argument | Description |
---|---|
|
Function to be called when a text buffer is added. |
|
A TextBuffer item. |
Return values |
---|
Returns a Disposable on which |
Invoke the given callback with all current and future text buffers in the project.
Argument | Description |
---|---|
|
Function to be called with current and future text buffers. |
|
A TextBuffer item. |
Return values |
---|
Returns a Disposable on which |
Invoke the given callback with all current and future repositories in the project.
Argument | Description |
---|---|
|
Function to be called with current and future repositories. |
|
A GitRepository that is present at the time of subscription or that is added at some later time. |
Return values |
---|
Returns a Disposable on which |
Invoke the given callback when a repository is added to the project.
Argument | Description |
---|---|
|
Function to be called when a repository is added. |
|
Return values |
---|
Returns a Disposable on which |
Invoke a callback when a filesystem change occurs within any open project path.
const disposable = atom.project.onDidChangeFiles(events => {
for (const event of events) {
// "created", "modified", "deleted", or "renamed"
console.log(`Event action: ${event.action}`)
// absolute path to the filesystem entry that was touched
console.log(`Event path: ${event.path}`)
if (event.action === 'renamed') {
console.log(`.. renamed from: ${event.oldPath}`)
}
}
})
disposable.dispose()
To watch paths outside of open projects, use the watchPaths
function instead; see PathWatcher.
When writing tests against functionality that uses this method, be sure to wait for the Promise returned by ::getWatcherPromise before manipulating the filesystem to ensure that the watcher is receiving events.
Argument | Description |
---|---|
|
Function to be called with batches of filesystem events reported by the operating system. |
|
An Array of objects that describe a batch of filesystem events. |
|
String describing the filesystem action that occurred. One of |
|
String containing the absolute path to the filesystem entry that was acted upon. |
|
For rename events, String containing the filesystem entry’s former absolute path. |
Return values |
---|
Returns a Disposable to manage this event subscription. |
Get an Array of GitRepositorys associated with the project’s directories.
This method will be removed in 2.0 because it does synchronous I/O. Prefer the following, which evaluates to a Promise that resolves to an Array of GitRepository objects:
Promise.all(atom.project.getDirectories().map(
atom.project.repositoryForDirectory.bind(atom.project)))
Get the repository for a given directory asynchronously.
Argument | Description |
---|---|
|
Directory for which to get a GitRepository. |
Return values |
---|
Returns a Promise that resolves with either:
|
Set the paths of the project’s directories.
Argument | Description |
---|---|
|
|
|
An optional Object that may contain the following keys: |
|
If |
|
If |
Add a path to the project’s list of root paths
Argument | Description |
---|---|
|
String The path to the directory to add. |
|
An optional Object that may contain the following keys: |
|
If |
|
If |
remove a path from the project’s list of root paths.
Argument | Description |
---|---|
|
String The path to remove. |
Determines whether the given path (real or symbolic) is inside the project’s directory.
This method does not actually check if the path exists, it just checks their locations relative to each other.
Argument | Description |
---|---|
|
String path |
Return values |
---|
Returns whether the path is inside the project’s root directory. |
Access a Promise that resolves when the filesystem watcher associated with a project root directory is ready to begin receiving events.
This is especially useful in test cases, where it’s important to know that the watcher is ready before manipulating the filesystem to produce events.
Argument | Description |
---|---|
|
String One of the project’s root directories. |
Return values |
---|
Returns a Promise that resolves with the PathWatcher associated with this project root
once it has initialized and is ready to start sending events. The Promise will reject with
an error instead if |