From f7781ad3860207094fb3ce3dfb3b4dca85bd7989 Mon Sep 17 00:00:00 2001 From: "Max K." <40246850+sttlr@users.noreply.github.com> Date: Tue, 16 Dec 2025 18:36:26 +0200 Subject: [PATCH 1/3] Respect ignore file when indexing a codebase --- src/metis/engine/core.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/metis/engine/core.py b/src/metis/engine/core.py index 70108db..20dbfa6 100644 --- a/src/metis/engine/core.py +++ b/src/metis/engine/core.py @@ -229,6 +229,7 @@ def index_prepare_nodes_iter(self): self.vector_backend.init() doc_splitter = self._get_doc_splitter() + metisignore_spec = self.load_metisignore() base_path = os.path.abspath(self.codebase_path) parent_dir = os.path.dirname(base_path) code_docs = [] @@ -238,10 +239,12 @@ def index_prepare_nodes_iter(self): new_id = os.path.relpath(doc.id_, parent_dir) doc.doc_id = new_id doc.id_ = new_id - if ext in docs_supported_exts: - doc_docs.append(doc) - elif ext in code_supported_exts: - code_docs.append(doc) + + if not metisignore_spec or not metisignore_spec.match_file(os.path.join(parent_dir, new_id)): + if ext in docs_supported_exts: + doc_docs.append(doc) + elif ext in code_supported_exts: + code_docs.append(doc) nodes_code, nodes_docs = yield from prepare_nodes_iter( code_docs, From eaa8d1ded70cdfa4fa43b55d4b33f05e5db36562 Mon Sep 17 00:00:00 2001 From: "Max K." <40246850+sttlr@users.noreply.github.com> Date: Tue, 16 Dec 2025 19:34:47 +0200 Subject: [PATCH 2/3] Simplify condition to be easier to understand. Co-authored-by: Stephen Paulger --- src/metis/engine/core.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/metis/engine/core.py b/src/metis/engine/core.py index 20dbfa6..1ff26e2 100644 --- a/src/metis/engine/core.py +++ b/src/metis/engine/core.py @@ -240,11 +240,13 @@ def index_prepare_nodes_iter(self): doc.doc_id = new_id doc.id_ = new_id - if not metisignore_spec or not metisignore_spec.match_file(os.path.join(parent_dir, new_id)): - if ext in docs_supported_exts: - doc_docs.append(doc) - elif ext in code_supported_exts: - code_docs.append(doc) + if metisignore_spec and metisignore_spec.match_file(os.path.join(parent_dir, new_id)): + continue + + if ext in docs_supported_exts: + doc_docs.append(doc) + elif ext in code_supported_exts: + code_docs.append(doc) nodes_code, nodes_docs = yield from prepare_nodes_iter( code_docs, From cc40a7a6b95c20ae2bcecda1bd7d5b07a72fb959 Mon Sep 17 00:00:00 2001 From: "Max K." <40246850+sttlr@users.noreply.github.com> Date: Wed, 17 Dec 2025 17:54:07 +0200 Subject: [PATCH 3/3] make ruff happy --- src/metis/engine/core.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/metis/engine/core.py b/src/metis/engine/core.py index 1ff26e2..5f9b20e 100644 --- a/src/metis/engine/core.py +++ b/src/metis/engine/core.py @@ -240,7 +240,9 @@ def index_prepare_nodes_iter(self): doc.doc_id = new_id doc.id_ = new_id - if metisignore_spec and metisignore_spec.match_file(os.path.join(parent_dir, new_id)): + if metisignore_spec and metisignore_spec.match_file( + os.path.join(parent_dir, new_id) + ): continue if ext in docs_supported_exts: