   (-connection-data [this])
   (-actual [this]))
 
-(defn get-open-file-command [{:keys [open-file-command]} {:keys [file-name file-line]}]
+
+
+(defn get-open-file-command [open-file-command {:keys [file-name file-line file-column]}]
   (when open-file-command
     (if (= open-file-command "emacsclient")
-      ["emacsclient" "-n" (str "+" file-line) file-name] ;; we are emacs aware
-      [open-file-command file-name file-line])))
+      (cond-> ["emacsclient" "-n"]
+        (not (nil? file-line))
+        (conj  (str "+" file-line
+                    (when (not (nil? file-column))
+                      (str ":" file-column))))
+        true (conj file-name))
+      [open-file-command file-name file-line file-column])))
 
 (defn read-msg [data]
   (try

                #_(println "Figwheel: client disconnected " status)))
    
    (on-receive wschannel
                (fn [data] (handle-client-msg server-state data)))

    ;; Keep alive!!
    ;; 

   [figwheel-sidecar.utils :as utils]
   [figwheel-sidecar.build-utils :as butils]

   [clojure.string :as string]
   [clojure.java.io :as io]
   [clojure.java.shell :as shell]
   [clojure.edn :as edn]
   
   [clojure.core.async :refer [go-loop <!! <! timeout]]
