first commit
[company-nginx.git] / company-nginx.el
blob8202f502051da62116427bf73a6e93d2af61a8cc
1 ;;; company-nginx.el --- company-mode keywords support for nginx-mode
3 ;; Authors: stardiviner <numbchild@gmail.com>
4 ;; Package-Requires: ((emacs "24"))
5 ;; Package-Version: 0.1
6 ;; Keywords: company nginx
7 ;; homepage: https://github.com/stardiviner/company-nginx
9 ;; You should have received a copy of the GNU General Public License
10 ;; along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
12 ;;; Time-stamp: <2018-05-20 18:38:20 stardiviner>
14 ;;; Commentary:
16 ;;; This package will auto add to `company-nginx-keywords', you only need to:
17 ;;;
18 ;;; (require 'company-nginx)
20 ;;; Code:
22 (defun company-nginx-keywords ()
23 "Add Nginx directive keywords to company-keywords-alist."
24 (add-to-list 'company-keywords-alist
25 '(nginx-mode
26 "absolute_redirect" "accept_mutex" "accept_mutex_delay" "access_log" "access_log"
27 "add_after_body" "add_before_body" "add_header" "add_trailer" "addition_types" "aio"
28 "aio_write" "alias" "allow" "allow" "ancient_browser" "ancient_browser_value" "api"
29 "auth_basic" "auth_basic_user_file" "auth_http" "auth_http_header"
30 "auth_http_pass_client_cert" "auth_http_timeout" "auth_jwt" "auth_jwt_claim_set"
31 "auth_jwt_header_set" "auth_jwt_key_file" "auth_jwt_leeway" "auth_request"
32 "auth_request_set" "autoindex" "autoindex_exact_size" "autoindex_format"
33 "autoindex_localtime" "break" "charset" "charset_map" "charset_types"
34 "chunked_transfer_encoding" "client_body_buffer_size" "client_body_in_file_only"
35 "client_body_in_single_buffer" "client_body_temp_path" "client_body_timeout"
36 "client_header_buffer_size" "client_header_timeout" "client_max_body_size"
37 "connection_pool_size" "create_full_put_path" "daemon" "dav_access" "dav_methods"
38 "debug_connection" "debug_points" "default_type" "deny" "deny" "directio"
39 "directio_alignment" "disable_symlinks" "empty_gif" "env" "error_log" "error_page" "etag"
40 "events" "expires" "f4f" "f4f_buffer_size" "fastcgi_bind" "fastcgi_buffer_size"
41 "fastcgi_buffering" "fastcgi_buffers" "fastcgi_busy_buffers_size" "fastcgi_cache"
42 "fastcgi_cache_background_update" "fastcgi_cache_bypass" "fastcgi_cache_key"
43 "fastcgi_cache_lock" "fastcgi_cache_lock_age" "fastcgi_cache_lock_timeout"
44 "fastcgi_cache_max_range_offset" "fastcgi_cache_methods" "fastcgi_cache_min_uses"
45 "fastcgi_cache_path" "fastcgi_cache_purge" "fastcgi_cache_revalidate"
46 "fastcgi_cache_use_stale" "fastcgi_cache_valid" "fastcgi_catch_stderr"
47 "fastcgi_connect_timeout" "fastcgi_force_ranges" "fastcgi_hide_header"
48 "fastcgi_ignore_client_abort" "fastcgi_ignore_headers" "fastcgi_index"
49 "fastcgi_intercept_errors" "fastcgi_keep_conn" "fastcgi_limit_rate"
50 "fastcgi_max_temp_file_size" "fastcgi_next_upstream" "fastcgi_next_upstream_timeout"
51 "fastcgi_next_upstream_tries" "fastcgi_no_cache" "fastcgi_param" "fastcgi_pass"
52 "fastcgi_pass_header" "fastcgi_pass_request_body" "fastcgi_pass_request_headers"
53 "fastcgi_read_timeout" "fastcgi_request_buffering" "fastcgi_send_lowat"
54 "fastcgi_send_timeout" "fastcgi_split_path_info" "fastcgi_store" "fastcgi_store_access"
55 "fastcgi_temp_file_write_size" "fastcgi_temp_path" "flv" "geo" "geo" "geoip_city"
56 "geoip_city" "geoip_country" "geoip_country" "geoip_org" "geoip_org" "geoip_proxy"
57 "geoip_proxy_recursive" "google_perftools_profiles" "grpc_bind" "grpc_buffer_size"
58 "grpc_connect_timeout" "grpc_hide_header" "grpc_ignore_headers" "grpc_intercept_errors"
59 "grpc_next_upstream" "grpc_next_upstream_timeout" "grpc_next_upstream_tries" "grpc_pass"
60 "grpc_pass_header" "grpc_read_timeout" "grpc_send_timeout" "grpc_set_header"
61 "grpc_ssl_certificate" "grpc_ssl_certificate_key" "grpc_ssl_ciphers" "grpc_ssl_crl"
62 "grpc_ssl_name" "grpc_ssl_password_file" "grpc_ssl_protocols" "grpc_ssl_server_name"
63 "grpc_ssl_session_reuse" "grpc_ssl_trusted_certificate" "grpc_ssl_verify"
64 "grpc_ssl_verify_depth" "gunzip" "gunzip_buffers" "gzip" "gzip_buffers" "gzip_comp_level"
65 "gzip_disable" "gzip_http_version" "gzip_min_length" "gzip_proxied" "gzip_static"
66 "gzip_types" "gzip_vary" "hash" "hash" "health_check" "health_check"
67 "health_check_timeout" "hls" "hls_buffers" "hls_forward_args" "hls_fragment"
68 "hls_mp4_buffer_size" "hls_mp4_max_buffer_size" "http" "http2_body_preread_size"
69 "http2_chunk_size" "http2_idle_timeout" "http2_max_concurrent_pushes"
70 "http2_max_concurrent_streams" "http2_max_field_size" "http2_max_header_size"
71 "http2_max_requests" "http2_push" "http2_push_preload" "http2_recv_buffer_size"
72 "http2_recv_timeout" "if" "if_modified_since" "ignore_invalid_headers" "image_filter"
73 "image_filter_buffer" "image_filter_interlace" "image_filter_jpeg_quality"
74 "image_filter_sharpen" "image_filter_transparency" "image_filter_webp_quality" "imap_auth"
75 "imap_capabilities" "imap_client_buffer" "include" "index" "internal" "ip_hash"
76 "js_access" "js_content" "js_filter" "js_include" "js_include" "js_preread" "js_set"
77 "js_set" "keepalive" "keepalive_disable" "keepalive_requests" "keepalive_timeout" "keyval"
78 "keyval" "keyval_zone" "keyval_zone" "large_client_header_buffers" "least_conn"
79 "least_conn" "least_time" "least_time" "limit_conn" "limit_conn" "limit_conn_log_level"
80 "limit_conn_log_level" "limit_conn_status" "limit_conn_zone" "limit_conn_zone"
81 "limit_except" "limit_rate" "limit_rate_after" "limit_req" "limit_req_log_level"
82 "limit_req_status" "limit_req_zone" "limit_zone" "lingering_close" "lingering_time"
83 "lingering_timeout" "listen" "listen" "listen" "load_module" "location" "lock_file"
84 "log_format" "log_format" "log_not_found" "log_subrequest" "mail" "map" "map"
85 "map_hash_bucket_size" "map_hash_bucket_size" "map_hash_max_size" "map_hash_max_size"
86 "master_process" "match" "match" "max_ranges" "memcached_bind" "memcached_buffer_size"
87 "memcached_connect_timeout" "memcached_force_ranges" "memcached_gzip_flag"
88 "memcached_next_upstream" "memcached_next_upstream_timeout"
89 "memcached_next_upstream_tries" "memcached_pass" "memcached_read_timeout"
90 "memcached_send_timeout" "merge_slashes" "min_delete_depth" "mirror" "mirror_request_body"
91 "modern_browser" "modern_browser_value" "mp4" "mp4_buffer_size" "mp4_limit_rate"
92 "mp4_limit_rate_after" "mp4_max_buffer_size" "msie_padding" "msie_refresh" "multi_accept"
93 "ntlm" "open_file_cache" "open_file_cache_errors" "open_file_cache_min_uses"
94 "open_file_cache_valid" "open_log_file_cache" "open_log_file_cache" "output_buffers"
95 "override_charset" "pcre_jit" "perl" "perl_modules" "perl_require" "perl_set" "pid"
96 "pop3_auth" "pop3_capabilities" "port_in_redirect" "postpone_output" "preread_buffer_size"
97 "preread_timeout" "protocol" "proxy_bind" "proxy_bind" "proxy_buffer" "proxy_buffer_size"
98 "proxy_buffer_size" "proxy_buffering" "proxy_buffers" "proxy_busy_buffers_size"
99 "proxy_cache" "proxy_cache_background_update" "proxy_cache_bypass"
100 "proxy_cache_convert_head" "proxy_cache_key" "proxy_cache_lock" "proxy_cache_lock_age"
101 "proxy_cache_lock_timeout" "proxy_cache_max_range_offset" "proxy_cache_methods"
102 "proxy_cache_min_uses" "proxy_cache_path" "proxy_cache_purge" "proxy_cache_revalidate"
103 "proxy_cache_use_stale" "proxy_cache_valid" "proxy_connect_timeout"
104 "proxy_connect_timeout" "proxy_cookie_domain" "proxy_cookie_path" "proxy_download_rate"
105 "proxy_force_ranges" "proxy_headers_hash_bucket_size" "proxy_headers_hash_max_size"
106 "proxy_hide_header" "proxy_http_version" "proxy_ignore_client_abort"
107 "proxy_ignore_headers" "proxy_intercept_errors" "proxy_limit_rate"
108 "proxy_max_temp_file_size" "proxy_method" "proxy_next_upstream" "proxy_next_upstream"
109 "proxy_next_upstream_timeout" "proxy_next_upstream_timeout" "proxy_next_upstream_tries"
110 "proxy_next_upstream_tries" "proxy_no_cache" "proxy_pass" "proxy_pass"
111 "proxy_pass_error_message" "proxy_pass_header" "proxy_pass_request_body"
112 "proxy_pass_request_headers" "proxy_protocol" "proxy_protocol_timeout"
113 "proxy_read_timeout" "proxy_redirect" "proxy_request_buffering" "proxy_responses"
114 "proxy_send_lowat" "proxy_send_timeout" "proxy_set_body" "proxy_set_header" "proxy_ssl"
115 "proxy_ssl_certificate" "proxy_ssl_certificate" "proxy_ssl_certificate_key"
116 "proxy_ssl_certificate_key" "proxy_ssl_ciphers" "proxy_ssl_ciphers" "proxy_ssl_crl"
117 "proxy_ssl_crl" "proxy_ssl_name" "proxy_ssl_name" "proxy_ssl_password_file"
118 "proxy_ssl_password_file" "proxy_ssl_protocols" "proxy_ssl_protocols"
119 "proxy_ssl_server_name" "proxy_ssl_server_name" "proxy_ssl_session_reuse"
120 "proxy_ssl_session_reuse" "proxy_ssl_trusted_certificate" "proxy_ssl_trusted_certificate"
121 "proxy_ssl_verify" "proxy_ssl_verify" "proxy_ssl_verify_depth" "proxy_ssl_verify_depth"
122 "proxy_store" "proxy_store_access" "proxy_temp_file_write_size" "proxy_temp_path"
123 "proxy_timeout" "proxy_timeout" "proxy_upload_rate" "queue" "random_index" "read_ahead"
124 "real_ip_header" "real_ip_recursive" "recursive_error_pages" "referer_hash_bucket_size"
125 "referer_hash_max_size" "request_pool_size" "reset_timedout_connection" "resolver"
126 "resolver" "resolver" "resolver_timeout" "resolver_timeout" "resolver_timeout" "return"
127 "return" "rewrite" "rewrite_log" "root" "satisfy" "scgi_bind" "scgi_buffer_size"
128 "scgi_buffering" "scgi_buffers" "scgi_busy_buffers_size" "scgi_cache"
129 "scgi_cache_background_update" "scgi_cache_bypass" "scgi_cache_key" "scgi_cache_lock"
130 "scgi_cache_lock_age" "scgi_cache_lock_timeout" "scgi_cache_max_range_offset"
131 "scgi_cache_methods" "scgi_cache_min_uses" "scgi_cache_path" "scgi_cache_purge"
132 "scgi_cache_revalidate" "scgi_cache_use_stale" "scgi_cache_valid" "scgi_connect_timeout"
133 "scgi_force_ranges" "scgi_hide_header" "scgi_ignore_client_abort" "scgi_ignore_headers"
134 "scgi_intercept_errors" "scgi_limit_rate" "scgi_max_temp_file_size" "scgi_next_upstream"
135 "scgi_next_upstream_timeout" "scgi_next_upstream_tries" "scgi_no_cache" "scgi_param"
136 "scgi_pass" "scgi_pass_header" "scgi_pass_request_body" "scgi_pass_request_headers"
137 "scgi_read_timeout" "scgi_request_buffering" "scgi_send_timeout" "scgi_store"
138 "scgi_store_access" "scgi_temp_file_write_size" "scgi_temp_path" "secure_link"
139 "secure_link_md5" "secure_link_secret" "send_lowat" "send_timeout" "sendfile"
140 "sendfile_max_chunk" "server" "server" "server" "server" "server" "server_name"
141 "server_name" "server_name_in_redirect" "server_names_hash_bucket_size"
142 "server_names_hash_max_size" "server_tokens" "session_log" "session_log_format"
143 "session_log_zone" "set" "set_real_ip_from" "set_real_ip_from" "slice" "smtp_auth"
144 "smtp_capabilities" "smtp_client_buffer" "smtp_greeting_delay" "source_charset"
145 "spdy_chunk_size" "spdy_headers_comp" "split_clients" "split_clients" "ssi"
146 "ssi_last_modified" "ssi_min_file_chunk" "ssi_silent_errors" "ssi_types"
147 "ssi_value_length" "ssl" "ssl" "ssl_buffer_size" "ssl_certificate" "ssl_certificate"
148 "ssl_certificate" "ssl_certificate_key" "ssl_certificate_key" "ssl_certificate_key"
149 "ssl_ciphers" "ssl_ciphers" "ssl_ciphers" "ssl_client_certificate"
150 "ssl_client_certificate" "ssl_client_certificate" "ssl_crl" "ssl_crl" "ssl_crl"
151 "ssl_dhparam" "ssl_dhparam" "ssl_dhparam" "ssl_ecdh_curve" "ssl_ecdh_curve"
152 "ssl_ecdh_curve" "ssl_engine" "ssl_handshake_timeout" "ssl_password_file"
153 "ssl_password_file" "ssl_password_file" "ssl_prefer_server_ciphers"
154 "ssl_prefer_server_ciphers" "ssl_prefer_server_ciphers" "ssl_preread" "ssl_protocols"
155 "ssl_protocols" "ssl_protocols" "ssl_session_cache" "ssl_session_cache"
156 "ssl_session_cache" "ssl_session_ticket_key" "ssl_session_ticket_key"
157 "ssl_session_ticket_key" "ssl_session_tickets" "ssl_session_tickets" "ssl_session_tickets"
158 "ssl_session_timeout" "ssl_session_timeout" "ssl_session_timeout" "ssl_stapling"
159 "ssl_stapling_file" "ssl_stapling_responder" "ssl_stapling_verify"
160 "ssl_trusted_certificate" "ssl_trusted_certificate" "ssl_trusted_certificate"
161 "ssl_verify_client" "ssl_verify_client" "ssl_verify_client" "ssl_verify_depth"
162 "ssl_verify_depth" "ssl_verify_depth" "starttls" "state" "state" "status" "status_format"
163 "status_zone" "sticky" "sticky_cookie_insert" "stream" "stub_status" "sub_filter"
164 "sub_filter_last_modified" "sub_filter_once" "sub_filter_types"
165 "subrequest_output_buffer_size" "tcp_nodelay" "tcp_nodelay" "tcp_nopush" "thread_pool"
166 "timeout" "timer_resolution" "try_files" "types" "types_hash_bucket_size"
167 "types_hash_max_size" "underscores_in_headers" "uninitialized_variable_warn" "upstream"
168 "upstream" "upstream_conf" "use" "user" "userid" "userid_domain" "userid_expires"
169 "userid_mark" "userid_name" "userid_p3p" "userid_path" "userid_service" "uwsgi_bind"
170 "uwsgi_buffer_size" "uwsgi_buffering" "uwsgi_buffers" "uwsgi_busy_buffers_size"
171 "uwsgi_cache" "uwsgi_cache_background_update" "uwsgi_cache_bypass" "uwsgi_cache_key"
172 "uwsgi_cache_lock" "uwsgi_cache_lock_age" "uwsgi_cache_lock_timeout"
173 "uwsgi_cache_max_range_offset" "uwsgi_cache_methods" "uwsgi_cache_min_uses"
174 "uwsgi_cache_path" "uwsgi_cache_purge" "uwsgi_cache_revalidate" "uwsgi_cache_use_stale"
175 "uwsgi_cache_valid" "uwsgi_connect_timeout" "uwsgi_force_ranges" "uwsgi_hide_header"
176 "uwsgi_ignore_client_abort" "uwsgi_ignore_headers" "uwsgi_intercept_errors"
177 "uwsgi_limit_rate" "uwsgi_max_temp_file_size" "uwsgi_modifier1" "uwsgi_modifier2"
178 "uwsgi_next_upstream" "uwsgi_next_upstream_timeout" "uwsgi_next_upstream_tries"
179 "uwsgi_no_cache" "uwsgi_param" "uwsgi_pass" "uwsgi_pass_header" "uwsgi_pass_request_body"
180 "uwsgi_pass_request_headers" "uwsgi_read_timeout" "uwsgi_request_buffering"
181 "uwsgi_send_timeout" "uwsgi_ssl_certificate" "uwsgi_ssl_certificate_key"
182 "uwsgi_ssl_ciphers" "uwsgi_ssl_crl" "uwsgi_ssl_name" "uwsgi_ssl_password_file"
183 "uwsgi_ssl_protocols" "uwsgi_ssl_server_name" "uwsgi_ssl_session_reuse"
184 "uwsgi_ssl_trusted_certificate" "uwsgi_ssl_verify" "uwsgi_ssl_verify_depth" "uwsgi_store"
185 "uwsgi_store_access" "uwsgi_temp_file_write_size" "uwsgi_temp_path" "valid_referers"
186 "variables_hash_bucket_size" "variables_hash_bucket_size" "variables_hash_max_size"
187 "variables_hash_max_size" "worker_aio_requests" "worker_connections" "worker_cpu_affinity"
188 "worker_priority" "worker_processes" "worker_rlimit_core" "worker_rlimit_nofile"
189 "worker_shutdown_timeout" "working_directory" "xclient" "xml_entities"
190 "xslt_last_modified" "xslt_param" "xslt_string_param" "xslt_stylesheet" "xslt_types"
191 "zone" "zone" "zone_sync" "zone_sync_buffers" "zone_sync_connect_retry_interval"
192 "zone_sync_connect_timeout" "zone_sync_interval" "zone_sync_recv_buffer_size"
193 "zone_sync_server" "zone_sync_ssl" "zone_sync_ssl_certificate"
194 "zone_sync_ssl_certificate_key" "zone_sync_ssl_ciphers" "zone_sync_ssl_crl"
195 "zone_sync_ssl_password_file" "zone_sync_ssl_protocols"
196 "zone_sync_ssl_trusted_certificate" "zone_sync_ssl_verify" "zone_sync_ssl_verify_depth"
197 "zone_sync_timeout")))
199 ;;;###autoload
200 (eval-after-load 'nginx-mode
201 '(add-hook 'nginx-mode-hook #'company-nginx-keywords))
205 (provide 'company-nginx)
207 ;;; company-nginx.el ends here