diff --git a/aider/queries/tree-sitter-languages/haskell-tags.scm b/aider/queries/tree-sitter-languages/haskell-tags.scm new file mode 100644 index 000000000..f5c073750 --- /dev/null +++ b/aider/queries/tree-sitter-languages/haskell-tags.scm @@ -0,0 +1,3 @@ +(function (variable) @name.definition.function) +(bind (variable) @name.definition.function) +(signature (variable) @name.definition.type) diff --git a/tests/basic/test_repomap.py b/tests/basic/test_repomap.py index 2c965bdff..9df806194 100644 --- a/tests/basic/test_repomap.py +++ b/tests/basic/test_repomap.py @@ -302,6 +302,9 @@ class TestRepoMapAllLanguages(unittest.TestCase): def test_language_gleam(self): self._test_language_repo_map("gleam", "gleam", "greet") + def test_language_haskell(self): + self._test_language_repo_map("haskell", "hs", "add") + def test_language_java(self): self._test_language_repo_map("java", "java", "Greeting") diff --git a/tests/fixtures/languages/haskell/test.hs b/tests/fixtures/languages/haskell/test.hs new file mode 100644 index 000000000..890ff94b7 --- /dev/null +++ b/tests/fixtures/languages/haskell/test.hs @@ -0,0 +1,7 @@ +module Main where + +add :: Int -> Int -> Int +add a b = a + b + +main :: IO () +main = print (add 2 3)