You are not logged in.
I installed shellcheck and since I have LSP enabled in kate, shellcheck became enabled in kate.
I figured out I can disable shellcheck in kate by disabling "show program diagnostics" in settings > LSP client, but I only think it disables the formatting of the text in kate (underlining the text when "wrong" syntax is used) since when I type, I can hear my fans spinning up like crazy every time.
I just want the cli application so I can run shellcheck from a terminal, not embedded inside kate.
I read the github readme for bash-language-server (which is what I think kate is using in the background) and it references config.ts for config settings.
And in there, there is a setting that I think might help, ie setting the default value to 0
// Maximum number of files to analyze in the background. Set to 0 to disable background analysis.
backgroundAnalysisMaxFiles: z.number().int().min(0).default(500),The problem is, I can't figure out where this config file is. And is this the setting I want to edit?
Am I on the right track here or is there a better way to configure kate to not use shellcheck? (I want bash-language-server enabled, I just want to disable shellcheck)
Edit.
Or maybe it's this I should disable?
// Controls the executable used for ShellCheck linting information. An empty string will disable linting.
shellcheckPath: z.string().trim().default('shellcheck'),Never the less, I need to find the config file to begin with. xD
'pacman -Fl bash-language-server' returns no such file.
Last edited by Bedna (Yesterday 08:31:14)
Offline
how about
find / -name config.ts?
Offline
I just want the cli application so I can run shellcheck from a terminal, not embedded inside kate.
Why do you install bash-language-server itfp?
Offline
how about
find / -name config.ts?
I should have mentioned that. That was the first thing I did, no such file found for anything related for this.
Why do you install bash-language-server itfp?
Syntax highligting for bash in kate requires that afaik.
$ pacman -Qi kate
Name : kate
Version : 26.08.2-1
Description : Advanced text editor
Architecture : x86_64
URL : https://apps.kde.org/kate/
Licenses : GPL-2.0-or-later LGPL-2.0-or-later
Groups : kde-applications kde-utilities
Provides : kwrite
Depends On : glibc gpgmepp karchive kbookmarks kcolorscheme kcompletion kconfig kconfigwidgets kcoreaddons kcrash kdbusaddons kguiaddons ki18n kiconthemes kio knewstuff kparts kservice
ktexteditor kuserfeedback kwidgetsaddons kwindowsystem kxmlgui libstdc++ qt6-base sh syntax-highlighting
Optional Deps : bash-language-server: Bash LSP support [installed]
blueprint-compiler: GTK Blueprint LSP support
clang: C and C++ LSP support [installed]
dart: Dart LSP support
dockerfile-language-server: Dockerfile LSP support
git: git-blame plugin [installed]
gleam: Gleam LSP support
gopls: GO LSP support
haskell-language-server: Haskell LSP support
konsole: open a terminal in Kate [installed]
julia: Julia LSP support
lua-language-server: LUA LSP support
marksman: Markdown LSP support
python-lsp-server: Python LSP support
qt6-declarative: RBQL plugin, QML LSP support [installed]
qtkeychain-qt6: SQL plugin [installed]
rust-analyzer: Rust LSP support
shellcheck: Bash linting [installed]
texlab: LaTeX LSP support
tinymist: Typst LSP support
typescript-language-server: JavaScript LSP support
vscode-css-languageserver: CSS LSP support
vscode-html-languageserver: HTML LSP support
vscode-json-languageserver: JSON LSP support
vue-language-server: Vue LSP support
yaml-language-server: YAML LSP support
zls: Zig LSP support
Required By : None
Optional For : None
Conflicts With : kwrite
Replaces : kwrite
Installed Size : 36,11 MiB
Packager : Antonio Rojas <arojas@archlinux.org>
Build Date : 2026-10-07T15:35:39 CEST
Install Date : 2026-10-09T23:03:58 CEST
Install Reason : Explicitly installed
Install Script : No
Validated By : Signature
Backup Files : None
Extended Data : pkgtype=pkgEdit.
Well, that was a load of crap. I uninstalled bash-language-server and syntax higlighting kept working just fine.
I don't know why I thought I needed that for highligting.
But I probably installed it because at the bottom left in kate, the "output" always flashes when opening a bash script, and pressing it gives this warning.
[14:30:19 LSP Client Warning] Failed to find server binary 'bash-language-server' for language 'bash'
Please check your PATH for the binary
See also https://github.com/bash-lsp/bash-language-server for installation or details
[14:30:20 LSP Client Warning] Failed to find server binary 'bash-language-server' for language 'bash'
Please check your PATH for the binary
See also https://github.com/bash-lsp/bash-language-server for installation or detailsBut highlighting works just fine. But by removing it I DO loose out on man information and such inside kate that is sometimes pretty neat to have.
So I would prefer to find the setting to disable shellcheck inside kate (via bash-language-server) as asked for in OP instead of removing bash-language-server.
Edit 2.
I found this file: /usr/lib/node_modules/bash-language-server/out/shellcheck/config.js that looks like the ts file referenced in link in OP, but should I really edit files in /usr/lib? Or should I create a file in /etc, and if so, what path inside /etc?
I'm so confused this should be so complicated...
Last edited by Bedna (Yesterday 13:29:04)
Offline
config.ts is a typescript, you'd have to alter that when building the package.
Afaict you can only disable the LSP plugin (entirely) - which is probably equivalent to removing bash-language-server but w/o noise about that.
bash-lsp uses editorconfig, https://github.com/bash-lsp/bash-langua … ntegration and there's also https://github.com/bash-lsp/bash-langua … sis-limits which might be relevant in your case.
Offline
editorconfig seems to be for shfmt, which I don't have/use.
I did find this file: /usr/lib/node_modules/bash-language-server/out/shellcheck/config.js that looks like the ts file referenced in link in OP, but should I really edit files in /usr/lib? Or should I create a file in /etc, and if so, what path inside /etc?
I'm so confused this should be so complicated...
Offline
Yes "should" …
The config.ts explicitly checks whether to ignore the editorconfig so I supposed it will have immediate impact on the behavior.
What are the contents of /usr/lib/node_modules/bash-language-server/node_modules/.bin/editorconfig ?
I suppose a brute-force method could be to remove and NoExtract usr/lib/node_modules/bash-language-server/out/shellcheck ?
Offline
Yes "should" …
The config.ts explicitly checks whether to ignore the editorconfig so I supposed it will have immediate impact on the behavior.
What are the contents of /usr/lib/node_modules/bash-language-server/node_modules/.bin/editorconfig ?I suppose a brute-force method could be to remove and NoExtract usr/lib/node_modules/bash-language-server/out/shellcheck ?
You are talking a bit above my head, I don't know what most of it means.
/usr/lib/node_modules/bash-language-server/node_modules/.bin/editorconfig
#!/usr/bin/env node
var cli = require('../lib/cli')
cli.default(process.argv).catch(e => {
console.error(e)
process.exit(1)
})Last edited by Bedna (Yesterday 14:26:22)
Offline
File looks useless.
https://wiki.archlinux.org/title/Pacman … _to_system
You basically strip the bash-language-server package of the shellcheck module (and hope it doesn't just crash
)
Offline
What I can't wrap my head around is why is the config file missing?
It's pointed out as THE config file and it seems to me containing stuff I can edit to achieve what I want.
https://github.com/bash-lsp/bash-langua … age-server
Bash language server that brings an IDE-like experience for bash scripts to most editors. This is based on the Tree Sitter parser and supports explainshell, shellcheck and shfmt.
Documentation around configuration variables can be found in the config.ts file.
Offline
See eg. https://github.com/bash-lsp/bash-langua … ssues/1351
Editor config seems very much correct but w/ major caveats ![]()
Tried the brute force method?
Offline
See eg. https://github.com/bash-lsp/bash-langua … ssues/1351
Editor config seems very much correct but w/ major caveats
Tried the brute force method?
Yeah, I saw that issue, but it again has to do with shfmt, I don't have that installed. And the only location I see editroconfig refrenced it has to do with shfmt, not shellcheck.
I actually read through the issues to see if I could find a hint on how to combat disabling shellcheck, but could not find anything.
I have been contemplating asking there, but it's an issue tracker, and it might upset people asking there. But I have also not found anywhere else to ask questions, the discussion part of their github is disabled so... I might end up asking there anyway. They seem to not get too many issue reports per month so maybe I will get away with it without getting shouted at.
I have not tried to brute force it, I might, but I'd rather try to find a way to utilize the config file that exists (somewhere) that will probably do what I want.
// Controls the executable used for ShellCheck linting information. An empty string will disable linting.
shellcheckPath: z.string().trim().default('shellcheck'),If I could just find this god damn file. (I'll probably try to edit the config.js file located in /usr/lib/node_modules/bash-language-server/out/shellcheck that looks exactly like the config.ps file referenced in the readme. Can't be worse than causing a crash right...)
Offline