Eru Iluvatar Δημοσ. 1 Δεκεμβρίου 2014 Δημοσ. 1 Δεκεμβρίου 2014 Ενδιαφέρομαι να μάθω πως κανένας μπορεί να φτιάξει έναν linter, συγκεκριμένα για την γλώσσα Julia. Έχω ένα παράδειγμα, αλλά δεν καταλαβαίνω τι παίζει: {exec, child} = require 'child_process' linterPath = atom.packages.getLoadedPackage("linter").path Linter = require "#{linterPath}/lib/linter" class LinterJavac extends Linter # The syntax that the linter handles. May be a string or # list/tuple of strings. Names should be all lowercase. # TODO: research if there are other java resources must be added @syntax: 'source.java' # A string, list, tuple or callable that returns a string, list or tuple, # containing the command line (with arguments) used to lint. cmd: 'javac -Xlint:all' linterName: 'javac' # A regex pattern used to extract information from the executable's output. regex: 'java:(?<line>\\d+): ((?<error>error)|(?<warning>warning)): (?<message>.+)[\\n\\r]' constructor: (editor) -> super(editor) atom.config.observe 'linter-javac.javaExecutablePath', => @executablePath = atom.config.get 'linter-javac.javaExecutablePath' destroy: -> atom.config.unobserve 'linter-javac.javaExecutablePath' errorStream: 'stderr' module.exports = LinterJavac
paparovic Δημοσ. 4 Δεκεμβρίου 2014 Δημοσ. 4 Δεκεμβρίου 2014 Αυτός ο κώδικας καλεί ton Java compiler με την επιλογή για lint και κάνει parse το output.
brute-force Δημοσ. 9 Δεκεμβρίου 2014 Δημοσ. 9 Δεκεμβρίου 2014 Αν και χρησιμοποιώ [linter] σε κάθε μου build στο Travis, δεν έχω ασχοληθεί με τα ενδότερα του. Εδώ βρίσκεται ο πηγαίος κώδικας[1] του linter που χρησιμοποιώ, ίσως σου φανεί χρήσιμος. [1] Η Go είναι αρκετά εύκολη και κατανοητή γλώσσα, ειδικά αν έχεις C background.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα