Function: meson-completion-at-point-function

meson-completion-at-point-function is a natively compiled function defined in meson-mode.el.

Signature

(meson-completion-at-point-function)

Documentation

Return possible completion candidates.

Source Code

;; Defined in /nix/store/57kn62wrv0z1jads9j9blmagdm8rh132-emacs-packages-deps/share/emacs/site-lisp/elpa/meson-mode-20240601.1647/meson-mode.el
;;; Completion

(defun meson-completion-at-point-function ()
  "Return possible completion candidates."
  (save-excursion
    (let* ((end (progn (skip-syntax-forward "w_")
		       (point)))
	   (start (progn (skip-syntax-backward "w_")
			 (point)))
	   (ppss (syntax-ppss)))
      (cond
       ((or (nth 3 ppss)		; inside string
	    (nth 4 ppss))		; inside comment
	nil) ; nothing to complete

       ;; kwargs
       ((and (> (nth 0 ppss) 0)		; inside parentheses
	     (eq (char-after (nth 1 ppss)) ?\()) ; rounded parentheses
	(goto-char (nth 1 ppss))
	(let ((kwargs (cl-some (lambda (x)
				 (when (looking-back (concat (car x) (rx (zero-or-more (any " " "\t"))))
						     (line-beginning-position))
				   (cdr x)))
			       meson-kwargs)))
	  ;; complete mathing kwargs as well as built-in
	  ;; variables/functions
	  (list start end (append kwargs meson-builtin-vars
				  (mapcar 'car meson-builtin-functions)))))

       ;; methods
       ((eq (char-before) ?.)
	(let ((methods (cl-some
			(lambda (x)
			  (when (looking-back (car x) (line-beginning-position))
			    (cdr x)))
			meson-methods)))
	  (list start end methods)))
       ;; global things
       (t
        (list start end (append meson-keywords meson-builtin-vars
				(mapcar 'car meson-builtin-functions))))))))