branch: externals/org commit 74198ac49c3e3ae4aeafc7c581f666f797bb03e1 Author: Ihor Radchenko <yanta...@posteo.net> Commit: Ihor Radchenko <yanta...@posteo.net>
org-lint: Add linter for unknown babel language * lisp/org-lint.el (org-lint-suspicious-language-in-src-block): New linter checking for unknown src block languages. --- lisp/org-lint.el | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/lisp/org-lint.el b/lisp/org-lint.el index fba8402d06..c2ed007abb 100644 --- a/lisp/org-lint.el +++ b/lisp/org-lint.el @@ -504,6 +504,14 @@ Use :header-args: instead" (list (org-element-property :post-affiliated b) "Missing language in source block"))))) +(defun org-lint-suspicious-language-in-src-block (ast) + (org-element-map ast 'src-block + (lambda (b) + (when-let ((lang (org-element-property :language b))) + (unless (functionp (intern (format "org-babel-execute:%s" lang))) + (list (org-element-property :post-affiliated b) + (format "Unknown source block language: '%s'" lang))))))) + (defun org-lint-missing-backend-in-export-block (ast) (org-element-map ast 'export-block (lambda (b) @@ -1350,6 +1358,11 @@ AST is the buffer parse tree." #'org-lint-missing-language-in-src-block :categories '(babel)) +(org-lint-add-checker 'suspicious-language-in-src-block + "Report suspicious language in source blocks" + #'org-lint-suspicious-language-in-src-block + :trust 'low :categories '(babel)) + (org-lint-add-checker 'missing-backend-in-export-block "Report missing backend in export blocks" #'org-lint-missing-backend-in-export-block