mirror of
https://github.com/ditkrg/todo-to-issue-action.git
synced 2026-01-23 06:16:43 +00:00
Merge pull request #180 from AingeruAlvarezSanchez/makefile-language-support
Extensionless files support + makefile language support added
This commit is contained in:
commit
dc6eec76ab
@ -159,6 +159,7 @@ These will be applied automatically to every issue, but will be overrode by any
|
|||||||
- Julia
|
- Julia
|
||||||
- Kotlin
|
- Kotlin
|
||||||
- Less
|
- Less
|
||||||
|
- Makefile
|
||||||
- Markdown
|
- Markdown
|
||||||
- Nix
|
- Nix
|
||||||
- Objective-C
|
- Objective-C
|
||||||
|
|||||||
24
main.py
24
main.py
@ -550,16 +550,28 @@ class TodoParser(object):
|
|||||||
issue.org_projects = separated_org_projects
|
issue.org_projects = separated_org_projects
|
||||||
return issues
|
return issues
|
||||||
|
|
||||||
|
def _get_language_details(self, language_name, attribute, value):
|
||||||
|
"""Try and get the Markdown language and comment syntax
|
||||||
|
data based on a specified attribute of the language."""
|
||||||
|
attributes = [at.lower() for at in self.languages_dict[language_name][attribute]]
|
||||||
|
if value.lower() in attributes:
|
||||||
|
for syntax_details in self.syntax_dict:
|
||||||
|
if syntax_details['language'] == language_name:
|
||||||
|
return syntax_details['markers'], self.languages_dict[language_name]['ace_mode']
|
||||||
|
return None, None
|
||||||
|
|
||||||
def _get_file_details(self, file):
|
def _get_file_details(self, file):
|
||||||
"""Try and get the Markdown language and comment syntax data for the given file."""
|
"""Try and get the Markdown language and comment syntax data for the given file."""
|
||||||
file_name, extension = os.path.splitext(os.path.basename(file))
|
file_name, extension = os.path.splitext(os.path.basename(file))
|
||||||
for language_name in self.languages_dict:
|
for language_name in self.languages_dict:
|
||||||
if 'extensions' in self.languages_dict[language_name]:
|
if extension != "" and 'extensions' in self.languages_dict[language_name]:
|
||||||
language_extensions = [ex.lower() for ex in self.languages_dict[language_name]['extensions']]
|
syntax_details, ace_mode = self._get_language_details(language_name, 'extensions', extension)
|
||||||
if extension.lower() in language_extensions:
|
if syntax_details is not None and ace_mode is not None:
|
||||||
for syntax_details in self.syntax_dict:
|
return syntax_details, ace_mode
|
||||||
if syntax_details['language'] == language_name:
|
elif 'filenames' in self.languages_dict[language_name]:
|
||||||
return syntax_details['markers'], self.languages_dict[language_name]['ace_mode']
|
syntax_details, ace_mode = self._get_language_details(language_name, 'filenames', file_name)
|
||||||
|
if syntax_details is not None and ace_mode is not None:
|
||||||
|
return syntax_details, ace_mode
|
||||||
return None, None
|
return None, None
|
||||||
|
|
||||||
def _extract_issue_if_exists(self, comment, marker, code_block):
|
def _extract_issue_if_exists(self, comment, marker, code_block):
|
||||||
|
|||||||
@ -764,5 +764,14 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"language": "Makefile",
|
||||||
|
"markers": [
|
||||||
|
{
|
||||||
|
"type": "line",
|
||||||
|
"pattern": "#"
|
||||||
|
}
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@ -375,3 +375,20 @@ index 0000000..a6c6cb0
|
|||||||
- TODO fill this with something useful
|
- TODO fill this with something useful
|
||||||
- */
|
- */
|
||||||
}
|
}
|
||||||
|
diff --git a/tests/Makefile b/tests/Makefile
|
||||||
|
index 2996176..7545ccf 100644
|
||||||
|
--- a/tests/Makefile
|
||||||
|
+++ b/tests/Makefile
|
||||||
|
@@ -1,12 +1,9 @@
|
||||||
|
-# TODO change name.
|
||||||
|
NAME = asm
|
||||||
|
|
||||||
|
-# TODO source files must be explicitly named.
|
||||||
|
SRC = $(shell find mandatory/src -name "*.asm")
|
||||||
|
OBJ = $(patsubst src/%.asm, obj/%.o, $(SRC))
|
||||||
|
.PHONY: all
|
||||||
|
all: $(NAME)
|
||||||
|
$(NAME): $(OBJ)
|
||||||
|
- # TODO create the directory.
|
||||||
|
$(AR) rc $@ $(OBJ)
|
||||||
|
|
||||||
|
|||||||
@ -417,3 +417,21 @@ index 0000000..a6c6cb0
|
|||||||
+ */
|
+ */
|
||||||
+}
|
+}
|
||||||
+
|
+
|
||||||
|
diff --git a/tests/Makefile b/tests/Makefile
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..2996176
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/tests/Makefile
|
||||||
|
@@ -0,0 +1,12 @@
|
||||||
|
+# TODO change name.
|
||||||
|
+NAME = asm
|
||||||
|
+
|
||||||
|
+# TODO source files must be explicitly named.
|
||||||
|
+SRC = $(shell find mandatory/src -name "*.asm")
|
||||||
|
+OBJ = $(patsubst src/%.asm, obj/%.o, $(SRC))
|
||||||
|
+.PHONY: all
|
||||||
|
+all: $(NAME)
|
||||||
|
+$(NAME): $(OBJ)
|
||||||
|
+ # TODO create the directory.
|
||||||
|
+ $(AR) rc $@ $(OBJ)
|
||||||
|
+
|
||||||
|
|||||||
@ -75,6 +75,9 @@ class NewIssueTests(unittest.TestCase):
|
|||||||
def test_twig_issues(self):
|
def test_twig_issues(self):
|
||||||
self.assertEqual(count_issues_for_file_type(self.raw_issues, 'twig'), 2)
|
self.assertEqual(count_issues_for_file_type(self.raw_issues, 'twig'), 2)
|
||||||
|
|
||||||
|
def test_makefile_issues(self):
|
||||||
|
self.assertEqual(count_issues_for_file_type(self.raw_issues, 'makefile'), 3)
|
||||||
|
|
||||||
def test_md_issues(self):
|
def test_md_issues(self):
|
||||||
self.assertEqual(count_issues_for_file_type(self.raw_issues, 'markdown'), 8)
|
self.assertEqual(count_issues_for_file_type(self.raw_issues, 'markdown'), 8)
|
||||||
|
|
||||||
@ -159,6 +162,9 @@ class ClosedIssueTests(unittest.TestCase):
|
|||||||
def test_twig_issues(self):
|
def test_twig_issues(self):
|
||||||
self.assertEqual(count_issues_for_file_type(self.raw_issues, 'twig'), 2)
|
self.assertEqual(count_issues_for_file_type(self.raw_issues, 'twig'), 2)
|
||||||
|
|
||||||
|
def test_makefile_issues(self):
|
||||||
|
self.assertEqual(count_issues_for_file_type(self.raw_issues, 'makefile'), 3)
|
||||||
|
|
||||||
def test_md_issues(self):
|
def test_md_issues(self):
|
||||||
self.assertEqual(count_issues_for_file_type(self.raw_issues, 'markdown'), 8)
|
self.assertEqual(count_issues_for_file_type(self.raw_issues, 'markdown'), 8)
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user