See major-mode
variable to find out major mode:
Symbol for current buffer’s major mode.
See cond
function to do something depending on mode:
Try each clause until one succeeds.
Each clause looks like (CONDITION BODY...). CONDITION is evaluated
and, if the value is non-nil, this clause succeeds:
then the expressions in BODY are evaluated and the last one’s
value is the value of the cond-form.
If a clause has one element, as in (CONDITION), then the cond-form
returns CONDITION’s value, if that is non-nil.
If no clause succeeds, cond returns nil.
E.g.
(cond
((eq major-mode 'lisp-interaction-mode) (message "lisp interaction mode"))
((eq major-mode 'text-mode) (message "text mode")))
Also see derived-mode-p
function:
(derived-mode-p &rest MODES)
Non-nil if the current major mode is derived from one of MODES.