2016-07-30 10 views
0

Ich arbeite an einem Paket für den Atom-Editor, der einen Zeitstempel im 12-Stunden-Format oder 24-Stunden-Format einfügen sollte. Zwischen den Anweisungen auf der Flughandbuch-Website und dem Code für insert-timestamp's repo zu sehen, schaffte ich zusammen zu combble zusammen, was ich denke, sollte mir geben, was ich brauche. Das Problem ist, dass kein Zeitstempel in den Editor eingefügt wird, wenn ich einen der Befehle ausführe. Ich habe den Hauptcode here gepostet; Die ID sagt mir, dass es aus irgendeinem Grund eine "unerwartete Einrückung" in Zeile 30 (if H is 0:) gibt. Ich habe nicht viel Erfahrung mit Coffeescript, daher könnte es ein Syntaxfehler sein. Ist es ein Problem damit, wie ich auf den Editor zugreife? Sollte ich etwas anderes als atom.workspace.getActiveTextEditor() verwenden?Mein Atom-Paket enthält keinen Zeitstempel

Antwort

0

Sie denken wahrscheinlich an Python-Syntax für if-Anweisungen, aber Sie müssen sie nicht mit Doppelpunkten in CoffeeScript beenden.

Der Code sollte wie folgt aussehen:

if H < 12 
    p = 'AM' 
    if H is 0 
     H = 12 
    else 
    p = 'PM' 
    if H isnt 12 
     H = H%12 
    stamp = "#{H}:#{M}:#{S}" 
    editor.insertText(stamp) 
+0

Ich nahm die Doppelpunkte heraus, und das scheint etwas aufgerichtet zu haben. Das Problem ist jetzt, dass nur der 24-Stunden-Formatstempel funktioniert. Auch wenn ich versuche, eine 12-Stunden-Marke einzufügen, bekomme ich immer noch das 24-Stunden-Format. Ich habe meine Keymaps, Menüs und 'package.json'-Dateien überprüft und kann dort nichts besonders falsch finden, also muss etwas an der Logik der' stamp12'-Funktion oder der Art, wie sie ausgeführt wird, nicht funktionieren. Könnte es ein Problem mit der Verwendung von 'Date()' geben? – alyms108

+0

Ich würde das wahrscheinlich als separate Frage posten. Ich bin hier durch das 'atom-editor'-Tag gekommen, ich würde versuchen, mich an CoffeeScript/JavaScript-Entwickler zu wenden. – idleberg

1

Ich glaube, ich die Lösung gefunden habe. Es stellte sich heraus, dass es sich um ein Syntaxproblem handelte. Grundsätzlich habe ich is not verwendet, als ich isnt hätte verwenden sollen. Ich dachte fälschlicherweise, dass sie das Gleiche meinen würden wie auf Englisch. Ich glaube, ich verstehe jetzt den Unterschied zwischen den beiden. isnt scheint eher für Vergleiche zu sein, was ich in diesem Fall wollte. is not scheint sich mehr darum zu kümmern, ob ein Wert True ist oder nicht. Im Wesentlichen hatte ich syntaktisch gültigen Code, aber es tat nicht, was ich vorhatte.

Verwandte Themen