[SR-Users] kamailio.cfg fomatter
Daniel-Constantin Mierla
miconda at gmail.com
Thu Dec 10 09:07:44 CET 2020
Hello,
this is syntax highlighting for kamailio.cfg, right?
Just to clarify better to what was asked for earlier on the mailing list
as code formatter, which was expected to do indentation of the file
content (a-la clang-format for c files).
We can create a repo on kamailio github oraganization, like
emacs-kamailio-syntax, similar to what is now for vim:
* https://github.com/kamailio/vim-kamailio-syntax
Cheers,
Daniel
On 10.12.20 08:00, Juha Heinanen wrote:
> After noticing that emacs mode is missing, below is my first cut of
> kamailio-mode.el.
>
> -- Juha
>
> -----------------------------------------------------------------------
>
> ;; kamailio mode for emacs (function list is not complete)
>
> ;; activate by starting your kamailio.cfg with this kind of line:
>
> ;; #-*-mode: kamailio; tab-width: 4; c-basic-offset: 4;
>
> (setq kamailio-font-lock-keywords
> (let* (
> ;; define several category of keywords
> (x-keywords '("branch_route" "break" "case" "default" "else" "event_route" "exit" "failure_route" "for" "if" "loadmodule" "onreply_route" "onsend_route" "reply_route" "request_route" "return" "route" "switch" "while"))
> (x-types '())
> (x-constants '())
> (x-events '())
> (x-functions '("acc_db_request" "add_path_received" "add_rr_param" "allow_routing" "allow_trusted" "append_hf" "append_to_reply" "avp_check" "avp_delete" "change_reply_status" "check_route_param" "defined" "dp_translate" "ERROR" "fix_nated_sdp" "force_send_socket" "forward" "get_redirects" "handle_ruri_alias" "inactivate_gw" "INFO" "in_list" "isflagset" "is_avp_set" "isbflagset" "is_direction" "is_domain_local" "is_e164" "is_gflag" "is_gruu" "is_method" "is_numeric" "is_present_hf" "jsonrpc_dispatch" "load_gws" "lookup_domain" "lookup" "loose_route" "modparam" "mt_match" "NOTICE" "proxy_challenge" "record_route" "redirecting" "remove_hf" "resetflag" "rtpengine_answer" "rtpengine_delete" "rtpengine_offer" "save" "sdp_content" "sdp_transport" "send_reply_mode" "send_reply" "setbflag" "setflag" "setxflag" "set_reply_close" "set_reply_no_connect" "set_rtpengine_set" "set_uri_host" "set_uri_user" "set_forward_no_connect" "sql_query" "sql_result_free" "starts_with" "subst_uri" "tel2sip" "t_check_status" "t_is_canceled" "t_load_contacts" "t_next_contacts" "t_on_branch" "t_on_failure" "t_on_reply" "t_relay_cancel" "t_relay" "t_set_fr" "unregister" "WARN" "ws_handle_handshake" "www_challenge" "xhttp_reply"))
> (x-keywords-regexp (regexp-opt x-keywords 'words))
> (x-types-regexp (regexp-opt x-types 'words))
> (x-constants-regexp (regexp-opt x-constants 'words))
> (x-events-regexp (regexp-opt x-events 'words))
> (x-functions-regexp (regexp-opt x-functions 'words)))
> `(
> (,x-types-regexp . font-lock-type-face)
> (,x-constants-regexp . font-lock-constant-face)
> (,x-events-regexp . font-lock-builtin-face)
> (,x-functions-regexp . font-lock-function-name-face)
> (,x-keywords-regexp . font-lock-keyword-face)
> )))
>
> (defvar kamailio-mode-syntax-table nil "Syntax table for `kamailio-mode'.")
>
> (setq kamailio-mode-syntax-table
> (let ( (synTable (make-syntax-table)))
> ;; python style comment: “# …”
> (modify-syntax-entry ?# "<" synTable)
> (modify-syntax-entry ?\n ">" synTable)
> synTable))
>
> (define-derived-mode kamailio-mode c-mode "kamailio mode"
> "Major mode for editing Kamailio configuration files"
> (setq font-lock-defaults '((kamailio-font-lock-keywords)))
> (set-syntax-table kamailio-mode-syntax-table))
>
> (provide 'kamailio-mode)
> _______________________________________________
> Kamailio (SER) - Users Mailing List
> sr-users at lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
--
Daniel-Constantin Mierla -- www.asipto.com
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Funding: https://www.paypal.me/dcmierla
More information about the sr-users
mailing list