 (require 'json)
 (require 'ring)
 (require 'etags)
-(require 'flymake)
-(require 'eldoc)
+;; (require 'flymake)
+;; (require 'eldoc)
 (require 'pos-tip nil t)
-(require 'log4e)
-(require 'yaxception)
+;; (require 'log4e)
+;; (require 'yaxception)
 (require 'thingatpt)
+(require 'button-lock)
+
+
 
 (cl-defstruct position file row col)
 

	  (position-col pos)
	  (position-file pos)))

(defun liquid-annot-at-pos-0 (pos)
  "Info to display: just the file/line/constant string"
  (let* ((info  (format "hello!")))
    (format "the information at %s is %s" 
	    (position-string pos)
	    info)))

(defun liquid-ident-at-pos (pos)
  "Return the identifier at a given position"
  (thing-at-point 'word))

(defun liquid-annot-at-pos-1 (pos)
  "Info to display: the identifier at the position or NONE" 
  (let* ((ident (liquid-ident-at-pos pos)))
    (format "the identifier at %s is %s" 
	    (position-string pos) 
	    ident)))

(defun liquid-annot-at-pos-2 (pos)
  "Info to display: the identifier at the position or NONE" 
  (let* ((row (position-row pos))
	 (col (position-col pos)))
    (liquid-annot liquid-annot-table row col)))

(defun liquid-annot-at-pos (pos)
  "Determine info to display"
  (liquid-annot-at-pos-2 pos))

;;;###autoload
(defun liquid-annot-popup ()
  "Popup help about anything at point."
  (interactive)
  (let* ((pos    (liquid-get-position))
	 (ident  (liquid-ident-at-pos pos))
         (annot  (liquid-annot-at-pos pos)))
    (if annot 
	(liquid-popup-tip annot)
        (liquid-popup-tip (format "No annotation for: %s" ident)))))

;;; cloned from  tss-popup-help

(provide 'liquid-tip)


     (if (or (<= p low) (liquid-is-split ch)) 
	 p 
         (liquid-id-start-pos low (- p 1)))))


(defun column-number-at-pos (pos)
  "Find the column of position pos"
