blob: 1d77b080f59eeb5208dadfc3bf42466f3a389ef7 [file] [log] [blame]
# Copyright 2025 Free Software Foundation, Inc.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Configuration file for the tclint and tclfmt tools from the tclint package
# ( https://github.com/nmoroze/tclint ).
#
# Eventually we'd like to move these settings to pyproject.toml, but currently
# that's not possible. See this tclint issue (
# https://github.com/nmoroze/tclint/issues/120 ).
#
# Issues related to using the tclint tool in the gdb testsuite:
# - tclint does not support expect.
# https://github.com/nmoroze/tclint/issues/118
# - tclint doesn't inspect code passed as arguments to gdb testsuite specific
# commands like with_test_prefix.
# https://github.com/nmoroze/tclint/issues/121
# - tclint ignores splat ({*}$foo) when checking number of arguments
# https://github.com/nmoroze/tclint/issues/122
exclude = [
# TODO:
"gdb/testsuite/boards",
"gdb/testsuite/config",
"gdb/testsuite/lib/aarch64.exp",
"gdb/testsuite/lib/aarch64-scalable.exp",
"gdb/testsuite/lib/ada.exp",
"gdb/testsuite/lib/cache.exp",
"gdb/testsuite/lib/check-test-names.exp",
"gdb/testsuite/lib/completion-support.exp",
"gdb/testsuite/lib/cp-support.exp",
"gdb/testsuite/lib/debuginfod-support.exp",
"gdb/testsuite/lib/d-support.exp",
"gdb/testsuite/lib/dtrace.exp",
"gdb/testsuite/lib/dwarf.exp",
"gdb/testsuite/lib/fortran.exp",
"gdb/testsuite/lib/future.exp",
"gdb/testsuite/lib/gdb.exp",
"gdb/testsuite/lib/gdb-guile.exp",
"gdb/testsuite/lib/gdbreplay-support.exp",
"gdb/testsuite/lib/gdbserver-support.exp",
"gdb/testsuite/lib/gdb-utils.exp",
"gdb/testsuite/lib/gen-perf-test.exp",
"gdb/testsuite/lib/go.exp",
"gdb/testsuite/lib/jit-elf-helpers.exp",
"gdb/testsuite/lib/mi-support.exp",
"gdb/testsuite/lib/objc.exp",
"gdb/testsuite/lib/pascal.exp",
"gdb/testsuite/lib/perftest.exp",
"gdb/testsuite/lib/prelink-support.exp",
"gdb/testsuite/lib/prompt.exp",
"gdb/testsuite/lib/rust-support.exp",
"gdb/testsuite/lib/selftest-support.exp",
"gdb/testsuite/lib/trace-support.exp",
# IGNORE (document reason in trailing comment):
"gdb/testsuite/gdb.stabs", # To be removed.
"gdb/testsuite/lib/ton.tcl", # Imported.
]
# A maximum line length of 80 is current policy, but it hasn't been too
# strictly enforced. It's the most frequent and least harmful violation.
# Ignore this for now.
ignore = ["line-length"]
extensions = ["exp", "tcl"]
[style]
# Used by tclfmt. Doesn't support the mixed TAB and spaces style we use. See
# this tclint issue ( https://github.com/nmoroze/tclint/issues/109 ).
indent = 4
# Used by both tclint and tclfmt. Current policy is 80.
line-length = 80
# Used by tclfmt.
max-blank-lines = 1
# Used by tclfmt. False conflicts with emacs tcl mode.
indent-namespace-eval = true
# Used by tclfmt.
spaces-in-braces = false