gitlabEdit

chart-mixedKernel - NKS0042

Use KernelPlatform.GetTerminalEmulator()

This analyzer provides the following strings:

Context
String

Error List

Caller uses Environment.GetEnvironmentVariable("TERM_PROGRAM") instead of KernelPlatform.GetTerminalEmulator()

Suggestion Box

Use KernelPlatform.GetTerminalEmulator() instead of Environment.GetEnvironmentVariable("TERM_PROGRAM")

Description

KernelPlatform.GetTerminalEmulator() is more readable and less verbose than Environment.GetEnvironmentVariable("TERM_PROGRAM").


Extended Description

This code analyzer detects the usage of GetEnvironmentVariable("TERM_PROGRAM") from the Environment class found in the System namespace.

GetEnvironmentVariable is a method to determine the terminal emulator and the terminal type. It's also a method to determine whether it's running on GNU Screen or on Tmux. However, we needed to increase the readability.

As a result, KernelPlatform implements a handful of terminal detection functions to simplify the complicated terminal checking statements to its simpler equivalent.


Analysis Comparison

To get a brief insight about how this analyzer works, compare the two code blocks shown to you below:

Before the fix

Somewhere in your mod code...
public static void MyFunction()
{
    var value = Environment.GetEnvironmentVariable("TERM_PROGRAM");
}

After the fix

Last updated