@pulsar-edit/types 1.128.1 → 1.131.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -129,8 +129,10 @@ export interface Marker {
129
129
  /**
130
130
  * Merge an object containing new properties into the marker's existing
131
131
  * properties. Use this to set custom data on your markers.
132
+ *
133
+ * Returns a boolean indicating whether any properties were changed.
132
134
  */
133
- setProperties(properties: Record<string, unknown>);
135
+ setProperties(properties: Record<string, unknown>): boolean;
134
136
 
135
137
  /**
136
138
  * Retrieve an object of key/value pairs that you set earlier via
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pulsar-edit/types",
3
- "version": "1.128.1",
3
+ "version": "1.131.0",
4
4
  "description": "TypeScript definitions for Pulsar",
5
5
  "homepage": "https://github.com/pulsar-edit/types",
6
6
  "license": "MIT",
@@ -47,7 +47,6 @@
47
47
  },
48
48
  "dependencies": {
49
49
  "@types/emscripten": "^1.40.1",
50
- "@types/node": "*",
51
50
  "@types/semver": "^5.5.0",
52
51
  "web-tree-sitter": "^0.25.3"
53
52
  },
@@ -56,6 +55,7 @@
56
55
  },
57
56
  "devDependencies": {
58
57
  "@arethetypeswrong/cli": "^0.18.2",
58
+ "@types/node": "~20.17",
59
59
  "typescript": "^5.8.3"
60
60
  }
61
61
  }
package/src/package.d.ts CHANGED
@@ -30,4 +30,10 @@ export interface Package {
30
30
 
31
31
  /** If a previous rebuild failed, get the contents of stderr. */
32
32
  getBuildFailureOutput(): string | null;
33
+
34
+ /** Private: Load the package but do not activate it. */
35
+ preload(): void;
36
+
37
+ /** Private: Activate the package immediately. */
38
+ activateNow(): void;
33
39
  }
package/src/pane.d.ts CHANGED
@@ -7,6 +7,10 @@ type PaneItemLocation = 'left' | 'right' | 'bottom' | 'center';
7
7
  type PaneItemSerializer = { deserializer: string } & Record<string, unknown>;
8
8
  type PaneItemFileFilter = { name: string, extensions: string[] };
9
9
 
10
+ interface PaneContainer {
11
+ getLocation(): PaneItemLocation;
12
+ }
13
+
10
14
  /**
11
15
  * Properties to apply to the save dialog:
12
16
  *
@@ -141,7 +145,7 @@ interface AbstractPaneItem extends ViewModel {
141
145
  *
142
146
  * Must return a {@link Disposable}.
143
147
  */
144
- onDidDestroy?(callback): Disposable;
148
+ onDidDestroy?(callback: () => unknown): Disposable;
145
149
 
146
150
  /**
147
151
  * Indicate whether this pane has already been destroyed.
@@ -367,7 +371,7 @@ interface AbstractPaneItem extends ViewModel {
367
371
  * read-only.
368
372
  *
369
373
  * You must also, of course, do the work of invoking these callbacks when you
370
- * attach or reattatch an editor to your view.
374
+ * attach or reattach an editor to your view.
371
375
  */
372
376
  observeEmbeddedTextEditor?(
373
377
  callback: (editor: TextEditor) => unknown
@@ -453,6 +457,12 @@ export interface Pane {
453
457
  /** Get the active pane item in this pane. */
454
458
  getActiveItem(): PaneItem;
455
459
 
460
+ /** Gets the pane's container. */
461
+ getContainer(): PaneContainer;
462
+
463
+ /** Sets the pane's container. */
464
+ setContainer(container: PaneContainer): void;
465
+
456
466
  /** Return the item at the given index. */
457
467
  itemAtIndex(index: number): PaneItem | undefined;
458
468
 
package/src/project.d.ts CHANGED
@@ -101,10 +101,31 @@ export interface Project {
101
101
  */
102
102
  contains(pathToCheck: string): boolean;
103
103
 
104
+ /**
105
+ * Layers the contents of a project-specific configuration on top of the
106
+ * current global configuration.
107
+ */
108
+ replace(projectSpecification: ProjectSpecification): void;
109
+
104
110
  }
105
111
 
112
+ /**
113
+ * A serialized representation of the attributes that identify this project.
114
+ *
115
+ * Most projects are opened against a single root path and can be described
116
+ * entirely by that root path. But if customization does take place — addition
117
+ * of other project roots, configuration overrides — the project now needs a
118
+ * way to describe and serialize those customizations.
119
+ *
120
+ * Eventually, the destination for this information might be a project file.
121
+ * For now, it's an object that can be passed to {@link Project#replace} and
122
+ * will be included in the calllback to {@link Project#onDidReplace}.
123
+ */
106
124
  export interface ProjectSpecification {
125
+ /** A set of project paths. */
107
126
  paths: string[];
127
+ /** The location on disk of the project's configuration file. */
108
128
  originPath: string;
129
+ /** The configuration overrides to be applied to this project. */
109
130
  config?: ConfigValues | undefined;
110
131
  }
@@ -159,11 +159,11 @@ export interface WASMTreeSitterGrammar extends Grammar {
159
159
  /** Undocumented: Root scope name of the grammar. */
160
160
  readonly scopeName: string;
161
161
 
162
- constructor(
162
+ new(
163
163
  registry: GrammarRegistry,
164
164
  grammarPath: string,
165
165
  params: WASMTreeSitterGrammarParams
166
- );
166
+ ): WASMTreeSitterGrammar;
167
167
 
168
168
  // Callbacks
169
169
  onDidUpdate(callback: () => void): Disposable;