Vim documentation: vital/System/Cache/File
main help file
vital/System/Cache/File.txt A file based cache system
Maintainer: Alisue <lambdalisue@hashnote.net>
==============================================================================
CONTENTS Vital.System.Cache.File-contents
Introductions Vital.System.Cache.File-intro
Usage Vital.System.Cache.File-usage
Functions Vital.System.Cache.File-functions
Methods Vital.System.Cache.File-methods
Properties Vital.System.Cache.File-properties
==============================================================================
INTRODUCTIONS Vital.System.Cache.File-intro
Vital.System.Cache.File is a file based unified cache system.
It stores a value into a file in a cache directory, mean that individual files
have one particular Vim object.
If you prefer to store keys and values into a single file, use
Vital.System.Cache.SingleFile instead.
==============================================================================
USAGE Vital.System.Cache.File-usage
Vital.System.Cache.File have all required API of unified cache system and
store cache in a filesystem.
In the following example, Vital.System.Cache.File is used for memorize the
calculated values.
let s:V = vital#{plugin-name}#new()
let s:C = s:V.import('System.Cache.File')
let s:factorial_cache = s:C.new({'cache_dir': '.cache'})
function! s:factorial(n)
if a:n == 0
return 1
elseif s:factorial_cache.has(a:n)
return s:factorial_cache.get(a:n)
else
let x = s:factorial(a:n - 1) * a:n
call s:factorial_cache.set(a:n, x)
return x
endif
endfunction
echo s:factorial(10)
==============================================================================
FUNCTIONS Vital.System.Cache.File-functions
new([{options}]) Vital.System.Cache.File.new()
Create a new instance of System.Cache.File.
It requires 'cache_dir' option in {options}. If no 'cache_dir' is
specified, it will throw an exception.
The 'cache_dir' will automatically be created if missing.
hash({cache_dir}, {str}) Vital.System.Cache.File.hash()
Return a hash string of {str} in {cache_dir}.
It is used internally to distinguish.
load({filename}[, {default}]) Vital.System.Cache.File.load()
Load a vim object from a {filename}. It uses sandbox and eval internally
to build a vim object dumped by Vital.System.Cache.File.dump().
If the {filename} is unreadable or the content of {filename} is empty,
an empty dictionary or {default} (when specified) will be returned.
dump({filename}, {obj}) Vital.System.Cache.File.dump()
Dump a vim object ({obj}) into a {filename}.
Use Vital.System.Cache.File.load() to restore the dumped vim object.
==============================================================================
METHODS Vital.System.Cache.File-methods
cache_key({obj}) Vital.System.Cache.File-instance.cache_key()
See Vital.System.Cache.Base-instance.cache_key()
has({name}) Vital.System.Cache.File-instance.has()
Return 1 if the cache instance has {name} in its cache directory.
Otherwise 0.
{name} (required)
A name of the cache. An actual cache key will be created via
Vital.System.Cache.File-instance.cache_key() method thus {name} is not
required to be String.
Vital.System.Cache.File-instance.get()
get({name}[, {default}])
Return a cached value of {name} in a cache directory. It returns
{default} if no value is found.
{name} (required)
A name of the cache. An actual cache key will be created via
Vital.System.Cache.File-instance.cache_key() method thus {name} is not
required to be String.
{default} (optional)
A default value. It will be returned when no value is found in the
cache dictionary.
set({name}, {value}) Vital.System.Cache.File-instance.set()
Save {value} into a cache directory as {name}.
{name} (required)
A name of the cache. An actual cache key will be created via
Vital.System.Cache.File-instance.cache_key() method thus {name} is not
required to be String.
{value} (required)
A value of the cache.
keys() Vital.System.Cache.File-instance.keys()
Return a list of cache keys
remove({name}) Vital.System.Cache.File-instance.remove()
Remove {name} from a cache directory. It does nothing when the
specified {name} is not found in the cache.
{name} (required)
A name of the cache. An actual cache key will be created via
Vital.System.Cache.File-instance.cache_key() method thus {name} is not
required to be String.
clear() Vital.System.Cache.File-instance.clear()
Clear all files in the cache directory without prompts.
CAUTION
It removes all files in the directory. Make sure the correct cache
directory is specified in the instance.
on_changed() Vital.System.Cache.File-instance.on_changed()
A user defined hook method. This method is called when the content of
the cache is changed, namely after the following methods:
- Vital.System.Cache.File-instance.set()
- Vital.System.Cache.File-instance.remove()
- Vital.System.Cache.File-instance.clear()
==============================================================================
PROPERTIES Vital.System.Cache.File-properties
cache_dir Vital.System.Cache.File-instance.cache_dir
A directory path where cache files (keys) are saved.
The directory need to be exists if users re-define this property after
the Vital.System.Cache.File.new() function call.
vim:tw=78:fo=tcq2mM:ts=8:ft=help:norl
top - main help file - tag index