         (setq start-nesting (go-paren-level))
         (if (looking-at "[])}]")
             (progn
-              (while (and (not (bobp))
-                          (>= (go-paren-level) start-nesting))
-                (skip-chars-backward "^[]{}()")
-                (backward-char))
+              (go-goto-opening-parenthesis)
               (if (go-previous-line-has-dangling-op-p)
                   (- (current-indentation) tab-width)
                 (current-indentation)))

    (go--backward-irrelevant t)
    (looking-back go-dangling-operators-regexp)))

(defun go-indentation-at-point (point)
  (save-excursion
    (let (start-nesting (outindent 0))

            (go--backward-irrelevant)
            (if (= (go-paren-level) 0)
                0
              (go-goto-opening-parenthesis)
              (if (< (go-paren-level) start-nesting)
                  (progn
                    (if (go-previous-line-has-dangling-op-p)
