Missing function completions
Opened this issue · 1 comments
h3xx commented
I did a scan thru the library of functions and found a lot of built-in functions missing.
I have a partial fix in-place for openssl_* under #129.
Here's a list of what I found:
PHP >= 7.3.0
PHP >= 7.4.0
PHP >= 8.0.0
- fdiv
- get_debug_type
- get_resource_id
- ldap_count_references
- openssl_cms_decrypt
- openssl_cms_encrypt
- openssl_cms_sign
- openssl_cms_verify
- preg_last_error_msg
- str_contains
- str_ends_with
- str_starts_with
PHP >= 8.1.0
- array_is_list
- enum_exists
- fdatasync
- fsync
- sodium_crypto_stream_xchacha20
- sodium_crypto_stream_xchacha20_keygen
- sodium_crypto_stream_xchacha20_xor
PHP >= 8.2.0
- curl_upkeep
- ini_parse_quantity
- libxml_get_external_entity_loader
- memory_reset_peak_usage
- odbc_connection_string_is_quoted
- odbc_connection_string_quote
- odbc_connection_string_should_quote
- openssl_cipher_key_length
- sodium_crypto_stream_xchacha20_xor_ic
Enchant
GD and Image Functions
- imageavif (PHP >= 8.1.0)
- imagecreatefromavif (PHP >= 8.1.0)
- imagecreatefromtga (PHP >= 7.4.0)
- imagegetinterpolation (PHP >= 8.0.0)
PECL Intl
- locale_canonicalize (undocumented)
Unimportant
- date_interval_create_from_date_string
- date_interval_format (alias of
DateInterval::format()) - dns_check_record (alias of
checkdnsrr()) - dns_get_mx (alias of
getmxrr()) - mysqli_escape_string (alias of
mysqli_real_escape_string()) - mysqli_execute (alias of
mysqli_stmt_execute()) - mysqli_set_opt (alias of
mysqli_options()) - normalizer_normalize (alias of
Normalizer::normalize()) - odbc_do (alias of
odbc_exec()) - odbc_field_precision (alias of
odbc_field_len()) - openssl_cms_read (undocumented; performs the exact analog to
openssl_pkcs7_read()) - sodium_crypto_core_ristretto255_add (undocumented)
- sodium_crypto_core_ristretto255_from_hash (undocumented)
- sodium_crypto_core_ristretto255_is_valid_point (undocumented)
- sodium_crypto_core_ristretto255_random (undocumented)
- sodium_crypto_core_ristretto255_scalar_add (undocumented)
- sodium_crypto_core_ristretto255_scalar_complement (undocumented)
- sodium_crypto_core_ristretto255_scalar_invert (undocumented)
- sodium_crypto_core_ristretto255_scalar_mul (undocumented)
- sodium_crypto_core_ristretto255_scalar_negate (undocumented)
- sodium_crypto_core_ristretto255_scalar_random (undocumented)
- sodium_crypto_core_ristretto255_scalar_reduce (undocumented)
- sodium_crypto_core_ristretto255_scalar_sub (undocumented)
- sodium_crypto_core_ristretto255_sub (undocumented)
- sodium_crypto_scalarmult_ristretto255 (undocumented)
- sodium_crypto_scalarmult_ristretto255_base (undocumented)
- stream_register_wrapper (alias of
stream_wrapper_register()) - timezone_identifiers_list (alias of
DateTimeZone::listIdentifiers()) - user_error (alias
oftrigger_error())
Unknown
- imap_is_open
- _
- intlcal_set_minimal_days_in_first_week
- intlgregcal_create_instance
- intlgregcal_get_gregorian_change
- intlgregcal_is_leap_year
- intlgregcal_set_gregorian_change
- intltz_count_equivalent_ids
- intltz_create_default
- intltz_create_enumeration
- intltz_create_time_zone
- intltz_create_time_zone_id_enumeration
- intltz_from_date_time_zone
- intltz_get_canonical_id
- intltz_get_display_name
- intltz_get_dst_savings
- intltz_get_equivalent_id
- intltz_get_gmt
- intltz_get_id
- intltz_get_id_for_windows_id
- intltz_get_offset
- intltz_get_raw_offset
- intltz_get_region
- intltz_get_tz_data_version
- intltz_get_unknown
- intltz_get_windows_id
- intltz_has_same_rules
- intltz_to_date_time_zone
- intltz_use_daylight_time
- mysqli_execute_query
- mysqli_fetch_column
- normalizer_is_normalized
- pcntl_wifcontinued
- pdo_drivers
complex857 commented
Hi
I've re-ran the generator for the current 8.2 docs, should address ~80% of the things above.
Notes:
- Aliases are not generated, so most aliases from above will not be added automatically
- I opted not to enable all the
sodium_*entries by default, these seem quite exotic. If you need them you can useg:phpcomplete_add_*_extensionsglobal variables to enable them, see the available_extensions file - some weren't picked up by the generator like password_algos, if you want we can add them to the builtin_manual.vim where they are not at risk of being overwritten by the next generator run
I hope this works for you, will leave the ticket open for a while