(detail: string, status: SessionStatus)
| 1200 | } |
| 1201 | |
| 1202 | private setSessionStatus(detail: string, status: SessionStatus): void { |
| 1203 | this.logger.writeDebug( |
| 1204 | `Session status changing from '${this.sessionStatus}' to '${status}'.`, |
| 1205 | ); |
| 1206 | this.sessionStatus = status; |
| 1207 | this.languageStatusItem.text = "$(terminal-powershell)"; |
| 1208 | this.languageStatusItem.detail = "PowerShell"; |
| 1209 | |
| 1210 | if (this.versionDetails !== undefined) { |
| 1211 | const semver = new SemVer(this.versionDetails.version); |
| 1212 | this.languageStatusItem.text += ` ${semver.major}.${semver.minor}`; |
| 1213 | this.languageStatusItem.detail += ` ${this.versionDetails.commit} (${this.versionDetails.architecture.toLowerCase()})`; |
| 1214 | } else if (this.PowerShellExeDetails?.displayName) { |
| 1215 | // When it hasn't started yet. |
| 1216 | this.languageStatusItem.text += ` ${this.PowerShellExeDetails.displayName}`; |
| 1217 | this.languageStatusItem.detail += ` at '${this.PowerShellExeDetails.exePath}'`; |
| 1218 | } else if (this.sessionSettings.powerShellDefaultVersion) { |
| 1219 | // When it hasn't been found yet. |
| 1220 | this.languageStatusItem.text += ` ${this.sessionSettings.powerShellDefaultVersion}`; |
| 1221 | this.languageStatusItem.detail = `Looking for '${this.sessionSettings.powerShellDefaultVersion}'...`; |
| 1222 | } |
| 1223 | |
| 1224 | if (detail) { |
| 1225 | this.languageStatusItem.detail += ": " + detail; |
| 1226 | } |
| 1227 | |
| 1228 | switch (status) { |
| 1229 | case SessionStatus.Running: |
| 1230 | case SessionStatus.NotStarted: |
| 1231 | this.languageStatusItem.busy = false; |
| 1232 | this.languageStatusItem.severity = |
| 1233 | vscode.LanguageStatusSeverity.Information; |
| 1234 | break; |
| 1235 | case SessionStatus.Busy: |
| 1236 | this.languageStatusItem.busy = true; |
| 1237 | this.languageStatusItem.severity = |
| 1238 | vscode.LanguageStatusSeverity.Information; |
| 1239 | break; |
| 1240 | case SessionStatus.Starting: |
| 1241 | case SessionStatus.Stopping: |
| 1242 | this.languageStatusItem.busy = true; |
| 1243 | this.languageStatusItem.severity = |
| 1244 | vscode.LanguageStatusSeverity.Warning; |
| 1245 | break; |
| 1246 | case SessionStatus.Failed: |
| 1247 | this.languageStatusItem.busy = false; |
| 1248 | this.languageStatusItem.severity = |
| 1249 | vscode.LanguageStatusSeverity.Error; |
| 1250 | break; |
| 1251 | } |
| 1252 | } |
| 1253 | |
| 1254 | // Refreshes the Language Status Item details with ehe same status. |
| 1255 | private refreshSessionStatus(): void { |
no test coverage detected