Hi Nikolay,

On Mon, Jan 8, 2018 at 11:41 PM, Nikolay Aleksandrovich Pavlov
<[email protected]> wrote:
> 2018-01-08 9:23 GMT+03:00 Yegappan Lakshmanan <[email protected]>:
>> Hi,
>>
>> Which value you can use as the default value for a job
>> type variable? I see that there is a test_null_job() function
>> that returns a null job value (but it is supposed to be used
>> only for testing). But I don't see any other way to initialize
>> a variable to a null job value. Am I missing something?
>
> There is no such a thing as “abstract default value” in VimL, no
> matter the type; to define something like this language would need to
> have either constructions in which case return values of those
> constructors called without arguments may be named “default value for
> the type” (e.g. `list()` in Python returning empty list without
> arguments) or be typed without support for uninitialized variables
> (probably, only in part of the language) in which case whatever they
> are initialized to when not explicitly initialized define “default
> value for the type” (e.g. in C99 with `*tv = (typval_T) { .v_type =
> VAR_STRING }` everything, but `v_type` in `tv` becomes zero; another
> example is LabVIEW with “use default if unwired” terminals defaulting
> to false/empty array/etc). All other defaults come from code authors,
> for what you need to describe a task.
>
> So describe a task.
>

I am creating a plugin that runs a command asynchronously.
This plugin supports only one asynchronous command at a time.
If the async command is already running, the plugin will stop the
current job and start a new job.

I am using a variable to keep track of the current job. During the
plugin startup or when the job exits, I need to set this variable
to an empty or a sane value. Before starting a new job, I need to
compare this variable against some default value to check whether
a job is already running or not. As a workaround I am currently using
another variable to keep track of whether the job is running or not.

We can use the following default values for other variable types:
Sting: "", Number: 0, List: [], Dict: {}. I am looking for some thing
similar for the Job variable.

Regards,
Yegappan

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Raspunde prin e-mail lui