mirror of
https://github.com/Aider-AI/aider.git
synced 2025-06-26 14:34:59 +00:00
Merge pull request #4260 from mtofano/add-matlab-repomap-support
Some checks are pending
pre-commit / pre-commit (push) Waiting to run
Some checks are pending
pre-commit / pre-commit (push) Waiting to run
This commit is contained in:
commit
f9fc2c6a44
4 changed files with 65 additions and 0 deletions
10
aider/queries/tree-sitter-language-pack/matlab-tags.scm
Normal file
10
aider/queries/tree-sitter-language-pack/matlab-tags.scm
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
(class_definition
|
||||||
|
name: (identifier) @name.definition.class) @definition.class
|
||||||
|
|
||||||
|
(function_definition
|
||||||
|
name: (identifier) @name.definition.function) @definition.function
|
||||||
|
|
||||||
|
(function_call
|
||||||
|
name: (identifier) @name.reference.call) @reference.call
|
||||||
|
|
||||||
|
(command (command_name) @name.reference.call) @reference.call
|
10
aider/queries/tree-sitter-languages/matlab-tags.scm
Normal file
10
aider/queries/tree-sitter-languages/matlab-tags.scm
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
(class_definition
|
||||||
|
name: (identifier) @name.definition.class) @definition.class
|
||||||
|
|
||||||
|
(function_definition
|
||||||
|
name: (identifier) @name.definition.function) @definition.function
|
||||||
|
|
||||||
|
(function_call
|
||||||
|
name: (identifier) @name.reference.call) @reference.call
|
||||||
|
|
||||||
|
(command (command_name) @name.reference.call) @reference.call
|
|
@ -388,6 +388,9 @@ class TestRepoMapAllLanguages(unittest.TestCase):
|
||||||
def test_language_ocaml_interface(self):
|
def test_language_ocaml_interface(self):
|
||||||
self._test_language_repo_map("ocaml_interface", "mli", "Greeter")
|
self._test_language_repo_map("ocaml_interface", "mli", "Greeter")
|
||||||
|
|
||||||
|
def test_language_matlab(self):
|
||||||
|
self._test_language_repo_map("matlab", "m", "Person")
|
||||||
|
|
||||||
def _test_language_repo_map(self, lang, key, symbol):
|
def _test_language_repo_map(self, lang, key, symbol):
|
||||||
"""Helper method to test repo map generation for a specific language."""
|
"""Helper method to test repo map generation for a specific language."""
|
||||||
# Get the fixture file path and name based on language
|
# Get the fixture file path and name based on language
|
||||||
|
|
42
tests/fixtures/languages/matlab/test.m
vendored
Normal file
42
tests/fixtures/languages/matlab/test.m
vendored
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
classdef Person
|
||||||
|
properties
|
||||||
|
name (1,1) string
|
||||||
|
age (1,1) double
|
||||||
|
end
|
||||||
|
|
||||||
|
methods
|
||||||
|
function obj = Person(name, age)
|
||||||
|
arguments
|
||||||
|
name (1,1) string
|
||||||
|
age (1,1) double = NaN
|
||||||
|
end
|
||||||
|
% Constructor for Person class
|
||||||
|
obj.name = name;
|
||||||
|
obj.age = age;
|
||||||
|
end
|
||||||
|
|
||||||
|
function greeting = greet(obj,formal)
|
||||||
|
arguments
|
||||||
|
obj
|
||||||
|
formal (1,1) logical = false
|
||||||
|
end
|
||||||
|
if formal
|
||||||
|
prefix = "Good day";
|
||||||
|
else
|
||||||
|
prefix = "Hello";
|
||||||
|
end
|
||||||
|
greeting = sprintf("%s, %s!", prefix, obj.name);
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
function greetings = create_greeting_list(people)
|
||||||
|
arguments
|
||||||
|
people (1,:) Person
|
||||||
|
end
|
||||||
|
% Create greetings for a list of people.
|
||||||
|
greetings = string(numel(people), 0);
|
||||||
|
for i = 1:numel(people)
|
||||||
|
greetings(i) = people(i).greet();
|
||||||
|
end
|
||||||
|
end
|
Loading…
Add table
Add a link
Reference in a new issue