2012-11-26 10 views
5

Wie konfiguriere ich Sublime Text 2 so, dass es eine Datei namens Makefile.local als Makefile erkennt, also muss ich "Set Syntax: Makefile" nicht manuell machen, wenn ich öffne diese Datei?Sublime Text 2: Makefile.local als Makefile erkennen

+0

Wenn Sie es für alle .local-Dateien möchten, öffnen Sie eine dann klicken Sie auf Ansicht, Syntax und verwenden Sie "alle mit der aktuellen Erweiterung öffnen" aus dem oberen Menü –

+0

@AlexK. Ist es möglich, einfach "Makefile.local" oder, noch besser, "Makefile. *" Zu finden? –

+1

Dieses Plugin https://github.com/philipkoebbe/DetectSyntax kann Syntax mit einem Dateinamen regexp –

Antwort

6

Tag hinzufügen <string>Makefile.local</string> zum <array> Abschnitt in Makefile.tmLanguage Datei.

<dict> 
    <key>fileTypes</key> 
    <array> 
     <string>Makefile.local</string> 
     <string>GNUmakefile</string> 
     <string>makefile</string> 
     <string>Makefile</string> 
     <string>OCamlMakefile</string> 
     <string>make</string> 
    </array> 
    <key>name</key> 
... 

Um die Datei zu finden, klicken Sie auf Preferences | Browse Packages... Menü.

Die Datei kann verwendet werden, um mehr Syntax Definition Optionen zu ändern.

+1

übereinstimmen Stellen Sie sicher, eine neue Version dieser Datei in Ihrem Benutzer-Einstellungsordner zu speichern. Dies wird es durch Updates beibehalten. – dbn

2

Sie können die Syntaxhervorhebung basierend auf dem Inhalt der Datei aktivieren.

Zum Beispiel habe ich zahlreiche Makefiles genannt Makefile.msp430 und ähnliche, die erste Zeile, die wie folgt:

#-*-Makefile-*- vim:syntax=make 

Dies ist gängige Praxis für andere Editoren wie Vim.

Damit dies jedoch funktioniert, müssen Sie die Datei ändern.

  1. Finden Sie die Datei (für Sublime Text 3 in Ubuntu) an:

    /opt/sublime_text/Packages/Makefile.sublime-package 
    

Hinweis, das ist wirklich eine ZIP-Datei. Kopieren Sie es, benennen Sie es am Ende mit .zip um und extrahieren Sie die Makefile.tmLanguage-Datei daraus.

  1. Bearbeiten Sie die neue Makefile.tmLanguage durch Hinzufügen des "firstLineMatch" -Taste und String nach dem "filetypes" Abschnitt. Im folgenden Beispiel sind die letzten beiden Zeilen neu (sollten von Ihnen hinzugefügt werden). Der Abschnitt <string> enthält den regulären Ausdruck, der die Syntaxhervorhebung für die Dateien aktiviert, die mit der ersten Zeile übereinstimmen. Dieser Ausdruck erkennt zwei Muster: "#-*-Makefile-*-" und "vim:syntax=make", aber Sie können es verbessern.

    <key>fileTypes</key> 
    <array> 
        <string>GNUmakefile</string> 
        <string>makefile</string> 
        <string>Makefile</string> 
        <string>OCamlMakefile</string> 
        <string>make</string> 
    </array> 
    
    <key>firstLineMatch</key> 
    <string>^#\s*-\*-Makefile-\*-|^#.*\s*vim:syntax=make</string> 
    
  2. Setzen Sie den neuen Makefile.tmLanguage im Verzeichnis der Benutzereinstellungen:

    ~/.config/sublime-text-3/Packages/User/Makefile.tmLanguage 
    

Von nun an werden die Dateien, die erste Zeile Regeln passend auf der Syntax-Hervorhebung drehen sollte.