PageRenderTime 50ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

/Editra/src/syntax/_php.py

https://code.google.com/p/decada/
Python | 448 lines | 390 code | 18 blank | 40 comment | 0 complexity | 725fc36d81e6d0785a0b51820b8d65db MD5 | raw file
Possible License(s): CC-BY-SA-3.0, LGPL-2.0
  1. ###############################################################################
  2. # Name: php.py #
  3. # Purpose: Define PHP syntax for highlighting and other features #
  4. # Author: Cody Precord <cprecord@editra.org> #
  5. # Copyright: (c) 2007 Cody Precord <staff@editra.org> #
  6. # License: wxWindows License #
  7. ###############################################################################
  8. """
  9. FILE: php.py
  10. AUTHOR: Cody Precord
  11. @summary: Lexer configuration module for PHP.
  12. """
  13. __author__ = "Cody Precord <cprecord@editra.org>"
  14. __svnid__ = "$Id: _php.py 68798 2011-08-20 17:17:05Z CJP $"
  15. __revision__ = "$Revision: 68798 $"
  16. #-----------------------------------------------------------------------------#
  17. # Imports
  18. import wx.stc as stc
  19. # Local Imports
  20. import synglob
  21. import syndata
  22. import _html
  23. from _cpp import AutoIndenter
  24. #-----------------------------------------------------------------------------#
  25. #---- Keyword Specifications ----#
  26. # PHP Keywords
  27. PHP_KEYWORDS = ("__LINE__ __FILE__ __FUNCTION__ __CLASS__ __METHOD__ declare "
  28. "else enddeclare endswitch elseif endif if switch as do endfor "
  29. "endforeach endwhile for foreach while case default switch "
  30. "break continue var bool boolean int integer real "
  31. "double float string array NULL extends global static "
  32. "new true false function "
  33. "class object self final public private protected try catch "
  34. "throw abstract parent interface implements "
  35. # Language Constructs
  36. "die echo empty exit eval include include_once isset list "
  37. "require require_once return print unset")
  38. # PHP Standard Functions/Methods
  39. # (roughly based off of PHP Pocket Reference by O'Reilly)
  40. PHP_FUNC = ("__construct __autoload __destruct __get __set __isset __unset "
  41. "__call __sleep __wakeup __toString __set_state __clone "
  42. "apache_child_terminate apache_lookup_uri apache_note "
  43. "apache_request_headers apache_response_headers apache_setenv "
  44. "ascii2ebcdic ebcdic2ascii getallheaders virtual jewishtojd "
  45. "array_change_key_case array_chunk array_count_values "
  46. "array_diff_assoc array_diff array_fill array_filter array_flip "
  47. "array_intersect_assoc array_intersect array_key_exists array_keys "
  48. "array_map array_merge_recursive array_merge array_multisort "
  49. "array_pad array_pop array_push array_rand array_reduce array "
  50. "array_reverse array_search array_shift array_slice array_splice "
  51. "array_sum array_unique array_unshift array_values array_walk "
  52. "arsort asort compact count current each end extract in_array key "
  53. "krsort ksort natcasesort natsort next pos prev range reset "
  54. "rsort shuffle sizeof sort uasort uksort usort aspell_check "
  55. "aspell_new aspell_suggest bcadd bccomp bcdiv bcmod bcmul bcpow "
  56. "bcpowmod bcscale bcsqrt bcsub bzclose bzcompress bzdecompress "
  57. "bzerrno bzerror bzerrstr bzflush bzopen bzread bzwrite "
  58. "cal_days_in_month cal_from_jd cal_info cal_to_jd easter_date "
  59. "easter_days frenchtojd gregoriantojd jddayofweek jdmonthname "
  60. "jdtofrench jdtogregorian jdtojewish jdtojulian jdtounix "
  61. "juliantojd unixtojd ccvs_add ccvs_auth ccvs_command ccvs_count "
  62. "ccvs_delete ccvs_done ccvs_init ccvs_lookup ccvs_new ccvs_report "
  63. "ccvs_return ccvs_reverse ccvs_sale ccvs_status ccvs_textvalue "
  64. "ccvs_void call_user_method_array call_user_method class_exists "
  65. "get_class_methods get_class_vars get_class get_declared_classes "
  66. "get_object_vars get_parent_class is_a is_subclass_of com_load "
  67. "com_addref com_get com_invoke com_isenum com_load_typelib "
  68. "com_propget com_propput com_propset com_release com_set "
  69. "cpdf_add_annotation cpdf_add_outline cpdf_arc cpdf_begin_text "
  70. "cpdf_circle cpdf_clip cpdf_close cpdf_closepath_fill_stroke "
  71. "cpdf_closepath_stroke cpdf_closepath cpdf_continue_text "
  72. "cpdf_end_text cpdf_fill_stroke cpdf_fill cpdf_finalize_page "
  73. "cpdf_finalize cpdf_global_set_document_limits cpdf_import_jpeg "
  74. "cpdf_lineto cpdf_moveto cpdf_newpath cpdf_open cpdf_output_buffer "
  75. "cpdf_page_init cpdf_place_inline_image cpdf_rect cpdf_restore "
  76. "cpdf_rlineto cpdf_rmoveto cpdf_rotate_text cpdf_rotate "
  77. "cpdf_save_to_file cpdf_save cpdf_scale cpdf_set_action_url "
  78. "cpdf_set_char_spacing cpdf_set_creator cpdf_set_current_page "
  79. "cpdf_set_font_directories cpdf_set_font_map_file cpdf_set_font "
  80. "cpdf_set_horiz_scaling cpdf_set_keywords cpdf_set_leading "
  81. "cpdf_set_page_animation cpdf_set_subject cpdf_set_text_matrix "
  82. "cpdf_set_text_pos cpdf_set_text_rendering cpdf_set_text_rise "
  83. "cpdf_set_title cpdf_set_viewer_preferences cpdf_set_word_spacing "
  84. "cpdf_setdash cpdf_setflat cpdf_setgray_fill cpdf_setgray_stroke "
  85. "cpdf_setgray cpdf_setlinecap cpdf_setlinejoin cpdf_setlinewidth "
  86. "cpdf_setmiterlimit cpdf_setrgbcolor_fill cpdf_setrgbcolor_stroke "
  87. "cpdf_setrgbcolor cpdf_show_xy cpdf_show cpdf_stringwidth "
  88. "cpdf_text cpdf_translate crack_check crack_closedict cpdf_curveto "
  89. "crack_getlastmessage crack_opendict ctype_alnum ctype_alpha "
  90. "ctype_cntrl ctype_digit ctype_graph ctype_lower ctype_print "
  91. "ctype_punct ctype_space ctype_upper ctype_xdigit curl_close "
  92. "curl_errno curl_error curl_exec curl_getinfo curl_init chgrp "
  93. "curl_version checkdate date getdate gettimeofday gmdate gmmktime "
  94. "gmstrftime localtime microtime mktime strftime strtotime time "
  95. "dba_close dba_delete dba_exists dba_fetch dba_firstkey filetype "
  96. "dba_insert dba_list dba_nextkey dba_open dba_optimize dba_popen "
  97. "dba_replace dba_sync dbase_add_record dbase_close dbase_create "
  98. "dbase_delete_record dbase_get_record_with_names dbase_get_record "
  99. "dbase_numfields dbase_numrecords dbase_open dbase_pack filectime "
  100. "dbase_replace_record dblist dbmclose dbmdelete dbmexists dbmfetch "
  101. "dbmfirstkey dbminsert dbmnextkey dbmopen dbmreplace basename "
  102. "chmod chown clearstatcache copy delete dirname disk_free_space "
  103. "disk_total_space diskfreespace fclose feof fflush fgetc fgetcsv "
  104. "fgets fgetss file_exists file_get_contents file fileatime ftell "
  105. "filegroup fileinode filemtime fileowner fileperms filesize popen "
  106. "flock fnmatch fopen fpassthru fputs fread fscanf fseek fstat stat "
  107. "ftruncate fwrite glob is_dir is_executable is_file is_link "
  108. "is_readable is_uploaded_file is_writable is_writeable link "
  109. "lstat mkdir move_uploaded_file parse_ini_file pathinfo pclose "
  110. "readfile readlink realpath rename rewind rmdir set_file_buffer "
  111. "symlink tempnam tmpfile touch umask unlink ftp_cdup ftp_chdir "
  112. "ftp_close ftp_connect ftp_delete ftp_exec ftp_fget ftp_fput "
  113. "ftp_get_option ftp_get ftp_login ftp_mdtm ftp_mkdir textdomain "
  114. "ftp_nb_fget ftp_nb_fput ftp_nb_get ftp_nb_put ftp_nlist ftp_pasv "
  115. "ftp_put ftp_pwd ftp_quit ftp_rawlist ftp_rename ftp_rmdir checkin "
  116. "ftp_set_option ftp_site ftp_size ftp_ssl_connect ftp_systype "
  117. "call_user_func_array call_user_func create_function func_get_arg "
  118. "func_get_args func_num_args function_exists get_defined_functions "
  119. "register_shutdown_function register_tick_function method_exists "
  120. "unregister_tick_function bind_textdomain_codeset bindtextdomain "
  121. "dcgettext dcngettext dgettext dngettext gettext ngettext "
  122. "gmp_abs gmp_add gmp_and gmp_clrbit gmp_cmp gmp_com gmp_div_q "
  123. "gmp_div_qr gmp_div_r gmp_div gmp_divexact gmp_fact gmp_gcd "
  124. "gmp_hamdist gmp_init gmp_intval gmp_invert gmp_jacobi gmp_gcdext "
  125. "gmp_mod gmp_mul gmp_neg gmp_or gmp_perfect_square gmp_popcount "
  126. "gmp_pow gmp_powm gmp_prob_prime gmp_random gmp_scan0 gmp_scan1 "
  127. "gmp_setbit gmp_sign gmp_sqrt gmp_sqrtrm gmp_strval gmp_sub "
  128. "header headers_sent setcookie hw_api_attribute hwapi_hgcsp "
  129. "hw_api_content hw_api_object key langdepvalue value values insert "
  130. "checkout children mimetype read content copy dbstat dcstat "
  131. "dstofsrcanchors count reason find ftstat hwstat identify info "
  132. "insertanchor insertcollection insertdocument link lock move "
  133. "attreditable count insert remove title value object dstanchors "
  134. "parents description type remove replace setcommitedversion assign "
  135. "srcanchors srcsofdst unlock user userlist iconv_get_encoding "
  136. "iconv_set_encoding iconv ob_iconv_handler exif_imagetype gmp_xor "
  137. "exif_read_data exif_thumbnail gd_info getimagesize cpdf_stroke "
  138. "image_type_to_mime_type image2wbmp imagealphablending imagearc "
  139. "imagechar imagecharup imagecolorallocate imagecolorallocatealpha "
  140. "imagecolorat imagecolorclosest imagecolorclosestalpha curl_setopt "
  141. "imagecolorclosesthwb imagecolordeallocate imagecolorexact "
  142. "imagecolorexactalpha imagecolorresolve imagecolorresolvealpha "
  143. "imagecolorset imagecolorsforindex imagecolorstotal dba_handlers "
  144. "imagecolortransparent imagecopy imagecopymerge imagecopymergegray "
  145. "imagecopyresampled imagecopyresized imagecreate objectbyanchor "
  146. "imagecreatefromgd2part imagecreatefromgd imagecreatefromgif "
  147. "imagecreatefromjpeg imagecreatefrompng imagecreatefromstring "
  148. "imagecreatefromwbmp imagecreatefromxbm imagecreatefromxpm "
  149. "imagecreatetruecolor imagedashedline imagedestroy imageellipse "
  150. "imagefill imagefilledarc imagefilledellipse imagefilledpolygon "
  151. "imagefilledrectangle imagefilltoborder imagefontheight "
  152. "imageftbbox imagefttext imagegammacorrect imagegd2 imagegd "
  153. "imageinterlace imagejpeg imageline imageloadfont imagepalettecopy "
  154. "imagepng imagepolygon imagepsbbox imagepscopyfont imagefontwidth "
  155. "imagepsextendfont imagepsfreefont imagepsloadfont gmp_legendre "
  156. "imagepstext imagerectangle imagerotate imagesetbrush imagegif "
  157. "imagesetstyle imagesetthickness imagesettile imagestring "
  158. "imagestringup imagesx imagesy imagetruecolortopalette "
  159. "imagettftext imagetypes imagewbmp iptcembed iptcparse jpeg2wbmp "
  160. "png2wbmp read_exif_data imap_8bit imap_alerts imap_append "
  161. "imap_binary imap_body imap_bodystruct imap_check imap_base64 "
  162. "imap_close imap_createmailbox imap_delete imap_deletemailbox "
  163. "imap_errors imap_expunge imap_fetch_overview imap_fetchbody "
  164. "imap_fetchheader imap_fetchstructure imap_get_quota imagettfbbox "
  165. "imap_getmailboxes imap_getsubscribed imap_header imap_headerinfo "
  166. "imap_headers imap_last_error imap_list imap_listmailbox "
  167. "imap_listsubscribed imap_lsub imap_mail_compose imap_mail_copy "
  168. "imap_mail_move imap_mail imap_mailboxmsginfo imap_listscan "
  169. "imap_msgno imap_num_msg imap_num_recent imap_open imap_ping "
  170. "imap_renamemailbox imap_reopen imap_rfc822_parse_adrlist linkinfo "
  171. "imap_rfc822_parse_headers imap_rfc822_write_address imap_qprint "
  172. "imap_search imap_set_quota imap_setacl imap_setflag_full "
  173. "imap_status imap_subscribe imap_thread imap_uid imap_undelete "
  174. "imap_unsubscribe imap_utf7_decode imap_utf7_encode imap_utf8 "
  175. "assert_options assert dl extension_loaded get_cfg_var imap_sort "
  176. "get_defined_constants get_extension_funcs get_included_files "
  177. "get_loaded_extensions get_magic_quotes_gpc get_current_user "
  178. "get_required_files getenv getlastmod getmygid getmyinode getmypid "
  179. "getmyuid getopt getrusage ini_alter ini_get_all ini_get "
  180. "ini_set php_ini_scanned_files php_logo_guid php_sapi_name "
  181. "phpcredits phpinfo phpversion putenv set_magic_quotes_runtime "
  182. "set_time_limit version_compare zend_logo_guid zend_version "
  183. "ldap_8859_to_t61 ldap_add ldap_bind ldap_close ldap_compare "
  184. "ldap_connect ldap_count_entries ldap_delete ldap_dn2ufn php_uname "
  185. "ldap_errno ldap_error ldap_explode_dn ldap_first_attribute "
  186. "ldap_first_entry ldap_first_reference ldap_free_result "
  187. "ldap_get_attributes ldap_get_dn ldap_get_entries ldap_get_option "
  188. "ldap_get_values_len ldap_get_values ldap_list ldap_mod_add "
  189. "ldap_mod_del ldap_mod_replace ldap_modify ldap_next_attribute "
  190. "ldap_next_entry ldap_next_reference ldap_parse_reference hypot "
  191. "ldap_parse_result ldap_read ldap_rename ldap_search ldap_err2str "
  192. "ldap_set_option ldap_set_rebind_proc ldap_sort ldap_start_tls "
  193. "ldap_t61_to_8859 ldap_unbind ezmlm_hash mail abs acos acosh asin "
  194. "asinh atan2 atan atanh base_convert bindec ceil cos cosh decbin "
  195. "dechex decoct deg2rad exp expm1 floor fmod getrandmax hexdec "
  196. "is_finite is_infinite is_nan lcg_value log10 log1p log max min "
  197. "mt_getrandmax mt_rand mt_srand octdec pi pow rad2deg rand round "
  198. "sin sinh sqrt srand tan tanh mb_convert_case mb_convert_encoding "
  199. "mb_convert_kana mb_convert_variables mb_decode_mimeheader "
  200. "mb_decode_numericentity mb_detect_encoding mb_detect_order "
  201. "mb_encode_mimeheader mb_encode_numericentity mb_ereg_match "
  202. "mb_ereg_replace mb_ereg_search_getpos mb_ereg_search_getregs "
  203. "mb_ereg_search_init mb_ereg_search_pos mb_ereg_search_regs "
  204. "mb_ereg_search_setpos mb_ereg_search mb_ereg mb_eregi_replace "
  205. "mb_eregi mb_get_info mb_http_input mb_http_output ini_restore "
  206. "mb_internal_encoding mb_language mb_output_handler mb_parse_str "
  207. "mb_preferred_mime_name mb_regex_encoding mb_regex_set_options "
  208. "mb_send_mail mb_split mb_strcut mb_strimwidth mb_strlen mb_strpos "
  209. "mb_strrpos mb_strtolower mb_strtoupper mb_strwidth imagesetpixel "
  210. "mb_substitute_character mb_substr_count mb_substr mcrypt_cbc "
  211. "mcrypt_cfb mcrypt_create_iv mcrypt_decrypt mcrypt_ecb "
  212. "mcrypt_enc_get_algorithms_name mcrypt_enc_get_block_size "
  213. "mcrypt_enc_get_iv_size mcrypt_enc_get_key_size ftp_nb_continue "
  214. "mcrypt_enc_get_modes_name mcrypt_enc_get_supported_key_sizes "
  215. "mcrypt_enc_is_block_algorithm_mode mcrypt_enc_is_block_algorithm "
  216. "mcrypt_enc_is_block_mode mcrypt_enc_self_test mcrypt_encrypt "
  217. "mcrypt_generic_deinit mcrypt_generic_end mcrypt_generic_init "
  218. "mcrypt_generic mcrypt_get_block_size mcrypt_get_cipher_name "
  219. "mcrypt_get_iv_size mcrypt_get_key_size mcrypt_list_algorithms "
  220. "mcrypt_list_modes mcrypt_module_close imap_scanmailbox "
  221. "mcrypt_module_get_algo_key_size imap_get_quotaroot "
  222. "mcrypt_module_is_block_algorithm_mode imap_mime_header_decode "
  223. "mcrypt_module_is_block_mode mcrypt_module_open imagecreatefromgd2 "
  224. "mcrypt_ofb mdecrypt_generic mhash_count mhash_get_block_size "
  225. "mhash_get_hash_name mhash_keygen_s2k mhash mime_content_type "
  226. "connection_aborted connection_status connection_timeout constant "
  227. "defined get_browser highlight_file highlight_string "
  228. "ignore_user_abort pack show_source sleep uniqid unpack usleep "
  229. "msql_affected_rows msql_close msql_connect msql_create_db define "
  230. "msql_data_seek msql_dbname msql_drop_db msql_dropdb msql_error "
  231. "msql_fetch_array msql_fetch_field msql_fetch_object msql_createdb "
  232. "msql_field_seek msql_fieldflags msql_fieldlen msql_fieldname "
  233. "msql_fieldtable msql_fieldtype msql_free_result msql_freeresult "
  234. "msql_list_dbs msql_list_fields msql_list_tables msql_listdbs "
  235. "msql_listfields msql_listtables msql_num_fields msql_num_rows "
  236. "msql_numfields msql_numrows msql_pconnect msql_query msql_regcase "
  237. "msql_result msql_select_db msql_selectdb msql_tablename msql "
  238. "checkdnsrr closelog debugger_off debugger_on gethostbyaddr "
  239. "dns_check_record dns_get_mx dns_get_record fsockopen "
  240. "gethostbyname gethostbynamel getmxrr getprotobyname "
  241. "getservbyname getservbyport ip2long long2ip openlog pfsockopen "
  242. "socket_get_status socket_set_blocking socket_set_timeout syslog "
  243. "ocibindbyname ocicancel OCICollAppend ocicollassign "
  244. "ocicollgetelem ocicollmax ocicollsize ocicolltrim ocicolumnisnull "
  245. "ocicolumnname ocicolumnprecision ocicolumnscale ocicolumnsize "
  246. "ocicolumntype ocicolumntyperaw ocicommit ocidefinebyname ocierror "
  247. "ociexecute ocifetch ocifetchinto ocifetchstatement msql_fetch_row "
  248. "ocifreecursor OCIFreeDesc ocifreestatement ociinternaldebug "
  249. "ocilogoff ocilogon ocinewcollection ocinewcursor ocinewdescriptor "
  250. "ocinlogon ocinumcols ociparse ociplogon ociresult ocirollback "
  251. "ocirowcount ocisavelob ocisavelobfile ociserverversion ociloadlob "
  252. "ocisetprefetch ocistatementtype ociwritelobtofile flush ob_clean "
  253. "ob_end_clean ob_end_flush ob_flush ob_get_contents ob_get_length "
  254. "ob_get_level ob_get_status ob_gzhandler ob_implicit_flush "
  255. "overload pcntl_exec pcntl_fork pcntl_signal pcntl_waitpid "
  256. "pcntl_wexitstatus pcntl_wifexited pcntl_wifsignaled ob_start "
  257. "pcntl_wstopsig pcntl_wtermsig preg_grep preg_match_all preg_match "
  258. "preg_quote preg_replace_callback preg_replace preg_split "
  259. "pdf_add_annotation pdf_add_bookmark pdf_add_launchlink "
  260. "pdf_add_note pdf_add_outline pdf_add_pdflink pdf_add_thumbnail "
  261. "pdf_add_weblink pdf_arc pdf_arcn pdf_attach_file pdf_begin_page "
  262. "pdf_begin_pattern pdf_begin_template pdf_circle pdf_add_locallink "
  263. "pdf_close_pdi_page pdf_close_pdi pdf_close pcntl_wifstopped "
  264. "pdf_closepath_stroke pdf_closepath pdf_concat pdf_continue_text "
  265. "pdf_curveto pdf_delete pdf_end_page pdf_end_pattern "
  266. "pdf_endpath pdf_fill_stroke pdf_fill pdf_findfont pdf_get_buffer "
  267. "pdf_get_font pdf_get_fontname pdf_get_fontsize pdf_open_pdi_page "
  268. "pdf_get_image_width pdf_get_majorversion pdf_get_minorversion "
  269. "pdf_get_parameter pdf_get_pdi_parameter pdf_get_pdi_value "
  270. "pdf_initgraphics pdf_lineto pdf_makespotcolor pdf_moveto pdf_new "
  271. "pdf_open_CCITT pdf_open_file pdf_open_gif pdf_open_image_file "
  272. "pdf_open_image pdf_open_jpeg pdf_open_memory_image "
  273. "pdf_open_pdi pdf_open_png pdf_open_tiff pdf_open pdf_place_image "
  274. "pdf_place_pdi_page pdf_rect pdf_restore pdf_rotate pdf_get_value "
  275. "pdf_set_border_color pdf_set_border_dash pdf_set_border_style "
  276. "pdf_set_char_spacing pdf_set_duration pdf_set_font "
  277. "pdf_set_info_author pdf_set_info_creator pdf_set_info_keywords "
  278. "pdf_set_info_subject pdf_set_info_title pdf_set_info "
  279. "pdf_set_parameter pdf_set_text_matrix pdf_set_text_pos "
  280. "pdf_set_text_rendering pdf_set_text_rise pdf_set_value "
  281. "pdf_set_word_spacing pdf_setcolor pdf_setdash pdf_setflat "
  282. "pdf_setgray_fill pdf_setgray_stroke pdf_setgray pdf_setlinecap "
  283. "pdf_setlinejoin pdf_setlinewidth pdf_setmatrix pdf_setmiterlimit "
  284. "pdf_setpolydash pdf_setrgbcolor_fill pdf_setrgbcolor_stroke "
  285. "pdf_setrgbcolor pdf_show_boxed pdf_show_xy pdf_show pdf_skew "
  286. "pdf_stringwidth pdf_stroke pdf_translate pg_affected_rows "
  287. "pg_cancel_query pg_client_encoding pg_close pg_connect "
  288. "pg_connection_busy pg_connection_reset pg_connection_status "
  289. "pg_copy_from pg_copy_to pg_dbname pg_delete pg_end_copy "
  290. "pg_escape_string pg_fetch_all pg_fetch_array pg_fetch_assoc "
  291. "pg_fetch_object pg_fetch_result pg_fetch_row pg_field_is_null "
  292. "pg_field_name pg_field_num pg_field_prtlen pg_field_size "
  293. "pg_free_result pg_get_notify pg_get_pid pg_get_result pg_host "
  294. "pg_last_error pg_last_notice pg_last_oid pg_lo_close pg_lo_create "
  295. "pg_lo_export pg_lo_import pg_lo_open pg_lo_read_all pg_lo_read "
  296. "pg_lo_seek pg_lo_tell pg_lo_unlink pg_lo_write pg_meta_data "
  297. "pg_num_fields pg_num_rows pg_options pg_pconnect pg_ping pg_port "
  298. "pg_put_line pg_query pg_result_error pg_result_seek pg_field_type "
  299. "pg_select pg_send_query pg_set_client_encoding pg_trace pg_tty "
  300. "pg_unescape_bytea pg_untrace pg_update posix_ctermid posix_getcwd "
  301. "posix_getegid posix_geteuid posix_getgid posix_getgrgid pg_insert "
  302. "posix_getgroups posix_getlogin posix_getpgid posix_getpgrp "
  303. "posix_getppid posix_getpwnam posix_getpwuid posix_getrlimit "
  304. "posix_getuid posix_isatty posix_kill posix_mkfifo posix_setegid "
  305. "posix_seteuid posix_setgid posix_setpgid posix_setsid pdf_setfont "
  306. "posix_times posix_ttyname posix_uname pspell_add_to_personal "
  307. "pspell_add_to_session pspell_check pspell_clear_session "
  308. "pspell_config_create pspell_config_ignore pspell_config_mode "
  309. "pspell_config_personal pspell_config_repl posix_setuid "
  310. "pspell_config_save_repl pspell_new_config pspell_new_personal "
  311. "pspell_new pspell_save_wordlist pspell_store_replacement "
  312. "recode_file recode_string recode ereg_replace ereg eregi_replace "
  313. "split spliti sql_regcase ftok msg_get_queue msg_receive "
  314. "msg_send msg_set_queue msg_stat_queue sem_acquire sem_get "
  315. "sem_remove shm_attach shm_detach shm_get_var shm_put_var "
  316. "shm_remove session_cache_expire session_cache_limiter sem_release "
  317. "session_destroy session_encode session_get_cookie_params eregi "
  318. "session_is_registered session_module_name session_name session_id "
  319. "session_register session_save_path session_set_cookie_params "
  320. "session_set_save_handler session_start session_unregister "
  321. "session_write_close snmp_get_quick_print snmp_set_quick_print "
  322. "snmprealwalk snmpset snmpwalk snmpwalkoid socket_accept snmpget "
  323. "socket_clear_error socket_close socket_connect session_unset "
  324. "socket_create_pair socket_create socket_get_option socket_bind "
  325. "socket_getsockname socket_iovec_add socket_iovec_alloc "
  326. "socket_iovec_delete socket_iovec_fetch socket_iovec_free "
  327. "socket_iovec_set socket_last_error socket_listen socket_read "
  328. "socket_readv socket_recv socket_recvfrom socket_recvmsg "
  329. "socket_send socket_sendmsg socket_sendto socket_set_nonblock "
  330. "socket_set_option socket_shutdown socket_strerror socket_write "
  331. "socket_writev stream_context_create stream_context_get_options "
  332. "stream_context_set_option stream_context_set_params socket_select "
  333. "stream_filter_prepend stream_get_filters stream_get_meta_data "
  334. "stream_get_wrappers stream_register_filter stream_filter_append "
  335. "stream_select stream_set_blocking stream_set_timeout posix_getpid "
  336. "stream_set_write_buffer addcslashes addslashes bin2hex chop chr "
  337. "chunk_split convert_cyr_string count_chars crc32 crypt "
  338. "fprintf get_html_translation_table hebrev hebrevc explode "
  339. "htmlentities htmlspecialchars implode join levenshtein localeconv "
  340. "md5_file md5 metaphone money_format nl_langinfo nl2br pg_convert "
  341. "parse_str printf quoted_printable_decode quotemeta rtrim "
  342. "setlocale sha1_file sha1 similar_text soundex sprintf sscanf ord "
  343. "str_repeat str_replace str_rot13 str_shuffle str_word_count ltrim "
  344. "strchr strcmp strcoll strcspn strip_tags stripcslashes strcasecmp "
  345. "stristr strlen strnatcasecmp strnatcmp strncasecmp strncmp strpos "
  346. "strrchr strrev strrpos strspn strstr strtok strtolower strtoupper "
  347. "substr_count substr_replace substr trim ucfirst ucwords vprintf "
  348. "wordwrap base64_decode base64_encode get_meta_tags parse_url "
  349. "rawurldecode rawurlencode urldecode urlencode doubleval "
  350. "get_defined_vars get_resource_type gettype stripslashes str_pad "
  351. "intval is_array is_bool is_callable is_double is_float is_int "
  352. "is_long is_null is_numeric is_object is_real is_resource floatval "
  353. "is_string print_r serialize settype strval unserialize "
  354. "var_dump var_export utf8_decode utf8_encode xml_error_string "
  355. "xml_get_current_byte_index xml_get_current_column_number "
  356. "xml_get_current_line_number xml_get_error_code is_scalar vsprintf "
  357. "xml_parse xml_parser_create_ns xml_parser_create xml_parser_free "
  358. "xml_parser_get_option xml_parser_set_option number_format "
  359. "xml_set_default_handler xml_set_element_handler is_integer "
  360. "xml_set_end_namespace_decl_handler xml_parse_into_struct strtr "
  361. "xml_set_notation_decl_handler xml_set_object html_entity_decode "
  362. "xml_set_processing_instruction_handler stream_register_wrapper "
  363. "xml_set_unparsed_entity_decl_handler xslt_create xslt_errno "
  364. "xslt_free xslt_output_process xslt_set_base xslt_set_encoding "
  365. "xslt_set_error_handler xslt_set_log xslt_set_sax_handler "
  366. "xslt_set_sax_handlers xslt_set_scheme_handler socket_getpeername "
  367. "zip_close zip_entry_close zip_entry_compressedsize xslt_error "
  368. "zip_entry_compressionmethod zip_entry_filesize zip_entry_name "
  369. "zip_entry_open zip_entry_read zip_open zip_read session_decode "
  370. "get_magic_quotes_runtime xslt_set_scheme_handlers pspell_suggest "
  371. "xml_set_start_namespace_decl_handler import_request_variables "
  372. "xml_set_external_entity_ref_handler socket_create_listen "
  373. "xml_set_character_data_handler session_readonly shm_remove_var "
  374. "msg_remove_queue pspell_config_runtogether posix_getsid "
  375. "posix_getgrnam pg_result_status pg_escape_bytea pdf_set_leading "
  376. "pdf_set_horiz_scaling pdf_save pdf_scale pdf_get_image_height "
  377. "pdf_end_template pdf_closepath_fill_stroke ocicollassignelem "
  378. "pdf_clip pdf_close_image ocifreecollection getprotobynumber "
  379. "mcrypt_module_self_test define_syslog_variables "
  380. "mcrypt_module_get_supported_key_sizes imap_clearflag_full "
  381. "mcrypt_module_is_block_algorithm imagepsencodefont "
  382. "mcrypt_module_get_algo_block_size imagepsslantfont count ")
  383. #---- Syntax Style Specs ----#
  384. SYNTAX_ITEMS = [ (stc.STC_HPHP_DEFAULT, 'default_style'),
  385. (stc.STC_HPHP_COMMENT, 'comment_style'),
  386. (stc.STC_HPHP_COMMENTLINE, 'comment_style'),
  387. (stc.STC_HPHP_COMPLEX_VARIABLE, 'pre_style'), #STYLE ME
  388. (stc.STC_HPHP_HSTRING, 'string_style'),
  389. (stc.STC_HPHP_HSTRING_VARIABLE, 'scalar_style'), # STYLE ME
  390. (stc.STC_HPHP_NUMBER, 'number_style'),
  391. (stc.STC_HPHP_OPERATOR, 'operator_style'),
  392. (stc.STC_HPHP_SIMPLESTRING, 'string_style'),
  393. (stc.STC_HPHP_VARIABLE, 'pre2_style'),
  394. (stc.STC_HPHP_WORD, 'keyword_style') ]
  395. #------------------------------------------------------------------------------#
  396. class SyntaxData(syndata.SyntaxDataBase):
  397. """SyntaxData object for Php"""
  398. def __init__(self, langid):
  399. super(SyntaxData, self).__init__(langid)
  400. # Setup
  401. self.SetLexer(stc.STC_LEX_HTML)
  402. self.RegisterFeature(synglob.FEATURE_AUTOINDENT, AutoIndenter)
  403. def GetKeywords(self):
  404. """Returns Specified Keywords List """
  405. # Support Embedded HTML highlighting
  406. html = _html.SyntaxData(synglob.ID_LANG_HTML)
  407. keywords = html.GetKeywords()
  408. keywords.append((4, PHP_KEYWORDS))
  409. return keywords
  410. def GetSyntaxSpec(self):
  411. """Syntax Specifications """
  412. return _html.SYNTAX_ITEMS + SYNTAX_ITEMS
  413. def GetProperties(self):
  414. """Returns a list of Extra Properties to set """
  415. return [_html.FOLD, _html.FLD_HTML]
  416. def GetCommentPattern(self):
  417. """Returns a list of characters used to comment a block of code
  418. @note: assuming pure php code for comment character(s)
  419. """
  420. return [u'//']
  421. #---- Syntax Modules Internal Functions ----#
  422. def KeywordString(option=0):
  423. """Returns the specified Keyword String
  424. @note: not used by most modules
  425. """
  426. return PHP_KEYWORDS
  427. #---- End Syntax Modules Internal Functions ----#