Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
N
node-sass
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
楚学文
node-sass
Commits
6cffdb9f
Commit
6cffdb9f
authored
Jul 16, 2012
by
Aaron Leung
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Trying to implement image-url as a primitive.
parent
fd900192
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
26 additions
and
2 deletions
+26
-2
context.cpp
context.cpp
+1
-0
context.hpp
context.hpp
+3
-2
document_parser.cpp
document_parser.cpp
+9
-0
eval_apply.cpp
eval_apply.cpp
+5
-0
node.hpp
node.hpp
+1
-0
prelexer.cpp
prelexer.cpp
+5
-0
prelexer.hpp
prelexer.hpp
+2
-0
No files found.
context.cpp
View file @
6cffdb9f
...
@@ -51,6 +51,7 @@ namespace Sass {
...
@@ -51,6 +51,7 @@ namespace Sass {
color_names_to_values
(
map
<
string
,
Node
>
()),
color_names_to_values
(
map
<
string
,
Node
>
()),
color_values_to_names
(
map
<
Node
,
string
>
()),
color_values_to_names
(
map
<
Node
,
string
>
()),
new_Node
(
Node_Factory
()),
new_Node
(
Node_Factory
()),
image_path
(
""
),
ref_count
(
0
),
ref_count
(
0
),
has_extensions
(
false
)
has_extensions
(
false
)
{
{
...
...
context.hpp
View file @
6cffdb9f
...
@@ -50,9 +50,10 @@ namespace Sass {
...
@@ -50,9 +50,10 @@ namespace Sass {
map
<
string
,
Node
>
color_names_to_values
;
map
<
string
,
Node
>
color_names_to_values
;
map
<
Node
,
string
>
color_values_to_names
;
map
<
Node
,
string
>
color_values_to_names
;
Node_Factory
new_Node
;
Node_Factory
new_Node
;
string
image_path
;
size_t
ref_count
;
size_t
ref_count
;
string
sass_path
;
//
string sass_path;
string
css_path
;
//
string css_path;
bool
has_extensions
;
bool
has_extensions
;
void
collect_include_paths
(
const
char
*
paths_str
);
void
collect_include_paths
(
const
char
*
paths_str
);
...
...
document_parser.cpp
View file @
6cffdb9f
...
@@ -821,6 +821,15 @@ namespace Sass {
...
@@ -821,6 +821,15 @@ namespace Sass {
return
result
;
return
result
;
}
}
if
(
lex
<
image_url_prefix
>
())
{
Node
url
(
parse_value
());
if
(
!
lex
<
exactly
<
')'
>
>
())
throw_syntax_error
(
"call to image-url is missing ')'"
);
Node
the_call
(
context
.
new_Node
(
Node
::
image_url
,
path
,
line
,
1
));
the_call
<<
url
;
return
the_call
;
}
if
(
peek
<
functional
>
())
if
(
peek
<
functional
>
())
{
return
parse_function_call
();
}
{
return
parse_function_call
();
}
...
...
eval_apply.cpp
View file @
6cffdb9f
...
@@ -288,6 +288,11 @@ namespace Sass {
...
@@ -288,6 +288,11 @@ namespace Sass {
if
(
!
env
.
query
(
expr
.
token
()))
throw_eval_error
(
"reference to unbound variable "
+
expr
.
token
().
to_string
(),
expr
.
path
(),
expr
.
line
());
if
(
!
env
.
query
(
expr
.
token
()))
throw_eval_error
(
"reference to unbound variable "
+
expr
.
token
().
to_string
(),
expr
.
path
(),
expr
.
line
());
return
env
[
expr
.
token
()];
return
env
[
expr
.
token
()];
}
break
;
}
break
;
case
Node
:
:
image_url
:
{
expr
[
0
]
=
eval
(
expr
[
0
],
prefix
,
env
,
f_env
,
new_Node
,
ctx
);
return
expr
;
}
break
;
case
Node
:
:
function_call
:
{
case
Node
:
:
function_call
:
{
// TO DO: default-constructed Function should be a generic callback (maybe)
// TO DO: default-constructed Function should be a generic callback (maybe)
...
...
node.hpp
View file @
6cffdb9f
...
@@ -128,6 +128,7 @@ namespace Sass {
...
@@ -128,6 +128,7 @@ namespace Sass {
value
,
value
,
identifier
,
identifier
,
uri
,
uri
,
image_url
,
textual_percentage
,
textual_percentage
,
textual_dimension
,
textual_dimension
,
textual_number
,
textual_number
,
...
...
prelexer.cpp
View file @
6cffdb9f
...
@@ -278,6 +278,11 @@ namespace Sass {
...
@@ -278,6 +278,11 @@ namespace Sass {
optional
<
spaces
>
,
optional
<
spaces
>
,
exactly
<
')'
>
>
(
src
);
exactly
<
')'
>
>
(
src
);
}
}
// Match SCSS image-url function
extern
const
char
image_url_kwd
[]
=
"image-url("
;
const
char
*
image_url_prefix
(
const
char
*
src
)
{
return
exactly
<
image_url_kwd
>
(
src
);
}
// Match CSS "!important" keyword.
// Match CSS "!important" keyword.
extern
const
char
important_kwd
[]
=
"important"
;
extern
const
char
important_kwd
[]
=
"important"
;
const
char
*
important
(
const
char
*
src
)
{
const
char
*
important
(
const
char
*
src
)
{
...
...
prelexer.hpp
View file @
6cffdb9f
...
@@ -354,6 +354,8 @@ namespace Sass {
...
@@ -354,6 +354,8 @@ namespace Sass {
// Match CSS uri specifiers.
// Match CSS uri specifiers.
const
char
*
uri_prefix
(
const
char
*
src
);
const
char
*
uri_prefix
(
const
char
*
src
);
const
char
*
uri
(
const
char
*
src
);
const
char
*
uri
(
const
char
*
src
);
// Match SCSS image-url function.
const
char
*
image_url_prefix
(
const
char
*
src
);
// Match CSS "!important" keyword.
// Match CSS "!important" keyword.
const
char
*
important
(
const
char
*
src
);
const
char
*
important
(
const
char
*
src
);
// Match Sass "!default" keyword.
// Match Sass "!default" keyword.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment