Skip to content

Commit d9b500d

Browse files
committed
Adds F2018 statements
NOTE: Coarray autocompletion works but signature_help does not trigger past the completion point because the statements are fundamentally not functions.
1 parent 2801d29 commit d9b500d

File tree

1 file changed

+67
-11
lines changed

1 file changed

+67
-11
lines changed

fortls/statements.json

Lines changed: 67 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,37 +12,71 @@
1212
},
1313
"int_stmnts": {
1414
"ALLOCATE": {
15-
"doc": "Dynamically create storage for allocatable variables and pointer targets."
15+
"doc": "Dynamically creates storage for allocatable variables and pointer targets."
16+
},
17+
"BACKSPACE": {
18+
"doc": "Positions a sequential file at the beginning of the preceding record, making it available for subsequent I/O processing."
1619
},
1720
"CALL": {
1821
"doc": "Transfers control to a subroutine subprogram."
1922
},
2023
"CLOSE": {
21-
"doc": "Disconnect a file from a unit."
24+
"doc": "Disconnects a file from a unit."
25+
},
26+
"CONTINUE": {
27+
"doc": "Primarily used to terminate a labelled DO construct when the construct would otherwise end improperly with either a GO TO, arithmetic IF, or other prohibited control statement."
2228
},
2329
"CYCLE": {
24-
"doc": "Interrupt the current execution cycle of the innermost (or named) DO construct."
30+
"doc": "Interrupts the current execution cycle of the innermost (or named) DO construct."
2531
},
2632
"DEALLOCATE": {
27-
"doc": "Free the storage allocated for allocatable variables and nonprocedure pointer targets (and causes the pointers to become disassociated)."
33+
"doc": "Frees the storage allocated for allocatable variables and nonprocedure pointer targets (and causes the pointers to become disassociated)."
34+
},
35+
"ENDFILE": {
36+
"doc": "For sequential files, writes an end-of-file record to the file and positions the file after this record (the terminal point)."
37+
},
38+
"ERROR STOP": {
39+
"doc": "Initiates error termination of an image before the execution of an END statement of the main program."
40+
},
41+
"EVENT POST": {
42+
"doc": "Allows an image to notify another image that it can proceed to work on tasks that use common resources."
43+
},
44+
"EVENT WAIT": {
45+
"doc": "Allows an image to wait on events posted by other images."
46+
},
47+
"FAIL IMAGE": {
48+
"doc": "Forces the failure of the current image of the program unit."
49+
},
50+
"FLUSH": {
51+
"doc": "Causes data written to a file to become available to other processes or causes data written to a file outside of Fortran to be accessible to a READ statement."
52+
},
53+
"FORM TEAM": {
54+
"args": "team_number,team_variable",
55+
"doc": "Defines team variables; creates one or more teams of images from the images on the current team."
2856
},
2957
"FORMAT": {
30-
"doc": "Specify the form of data being transferred and the data conversion (editing) required to achieve that form."
58+
"doc": "Specifies the form of data being transferred and the data conversion (editing) required to achieve that form."
3159
},
3260
"INQUIRE": {
33-
"doc": "Return information on the status of specified properties of a file, logical unit, or directory."
61+
"doc": "Returns information on the status of specified properties of a file or logical unit."
62+
},
63+
"LOCK": {
64+
"doc": "Causes a lock variable to become locked by an image."
3465
},
3566
"NAMELIST": {
3667
"doc": "Associates a name with a list of variables. This group name can be referenced in some input/output operations."
3768
},
3869
"NULLIFY": {
39-
"doc": "Disassociate a pointer from a target."
70+
"doc": "Disassociates a pointer from a target."
4071
},
4172
"OPEN": {
42-
"doc": "Connect an external file to a unit, creates a new file and connects it to a unit, creates a preconnected file, or changes certain properties of a connection."
73+
"doc": "Connects an external file to a unit, creates a new file and connects it to a unit, creates a preconnected file, or changes certain properties of a connection."
74+
},
75+
"PRINT": {
76+
"doc": "Displays output on the screen."
4377
},
4478
"READ": {
45-
"doc": "Transfer input data from external sequential, direct-access, or internal records."
79+
"doc": "Transfers input data from external sequential, direct-access, or internal records."
4680
},
4781
"RETURN": {
4882
"doc": "Return control to the calling program unit."
@@ -51,10 +85,32 @@
5185
"doc": "Positions a sequential or direct access file at the beginning of the file (the initial point)."
5286
},
5387
"STOP": {
54-
"doc": "Terminate execution of the program."
88+
"doc": "Initiates normal termination of an image before the execution of an END statement of the main program."
89+
},
90+
"SYNC ALL": {
91+
"args": "STAT=stat,ERRMSG=errmsg",
92+
"doc": "Performs a synchronization of all images in the current team."
93+
},
94+
"SYNC IMAGES": {
95+
"args": "image_set,STAT=stat,ERRMSG=errmsg",
96+
"doc": "Performs a synchronization of the image with each of the other images in the image set."
97+
},
98+
"SYNC MEMORY": {
99+
"args": "STAT=stat,ERRMSG=errmsg",
100+
"doc": "Ends one image segment and begins another. Each segment can then be ordered in some way with respect to segments on other images."
101+
},
102+
"SYNC TEAM": {
103+
"args": "team_value,STAT=stat,ERRMSG=errmsg",
104+
"doc": "Performs a synchronization of all images on the specified team."
105+
},
106+
"UNLOCK": {
107+
"doc": "Causes a lock variable to become unlocked by an image."
108+
},
109+
"WAIT": {
110+
"doc": "Performs a wait operation for a specified pending asynchronous data transfer operation."
55111
},
56112
"WRITE": {
57-
"doc": "Transfer output data to external sequential, direct-access, or internal records."
113+
"doc": "Transfers output data to external sequential, direct-access, or internal records."
58114
}
59115
}
60116
}

0 commit comments

Comments
 (0)