 ;; Dart has no boolean but a string and a vector type.
 (c-lang-defconst c-primitive-type-kwds
   dart (append '("bool" "var")
-	     (delete "boolean"
-		     ;; Use append to not be destructive on the
-		     ;; return value below.
-		     (append
-		      ;; Due to the fallback to Java, we need not give
-		      ;; a language to `c-lang-const'.
-		      (c-lang-const c-primitive-type-kwds)
-		      nil))))
+             (delete "boolean"
+                     ;; Use append to not be destructive on the
+                     ;; return value below.
+                     (append
+                      ;; Due to the fallback to Java, we need not give
+                      ;; a language to `c-lang-const'.
+                      (c-lang-const c-primitive-type-kwds)
+                      nil))))
 
 ;; Recognize member init lists after colons in Dart.
 (c-lang-defconst c-nonlabel-token-key

    ("finally" "finally" c-electric-continued-statement 0)))

(defvar dart-mode-map (let ((map (c-make-inherited-keymap)))
		      ;; Add bindings which are only useful for Dart
		      map)
  "Keymap used in dart-mode buffers.")

(easy-menu-define dart-menu dart-mode-map "Dart Mode Commands"
		  ;; Can use `dart' as the language for `c-mode-menu'
		  ;; since its definition covers any language.  In
		  ;; this case the language is used to adapt to the
		  ;; nonexistence of a cpp pass and thus removing some
		  ;; irrelevant menu alternatives.
		  (cons "Dart" (c-lang-const c-mode-menu dart)))

;;;###autoload
(add-to-list 'auto-mode-alist '("\\.dart\\'" . dart-mode))

;;; Code:

(require 'cc-mode)
(require 'compile)

;; These are only required at compile time to get the sources for the
;; language constants.  (The cc-fonts require and the font-lock
